From Phone-and-Paper to Pick-Your-Table: A Custom Event Booking System for a Glendale Restaurant
Phoenicia Restaurant sells out live-entertainment nights where guests reserve specific tables — and every reservation ran through the phone. We rebuilt their web presence in three phases, ending with a visual booking system where guests see the actual floor plan, tap an open table, and pay upfront through Stripe.
The Challenge
Phoenicia is an established Lebanese restaurant and banquet venue in Glendale with two banquet halls, a patio lounge, and regular ticketed entertainment nights where guests don't buy generic tickets — they reserve specific tables in the room. Every one of those reservations was handled by phone: staff described the floor layout verbally ("the table near the stage… no, that one's taken"), tracked availability on paper and memory, and took payment in person or not at all. That meant hours of staff phone time per event, a real risk of double-booking the same table, and no-shows costing revenue on sold-out nights. Meanwhile, their outdated website didn't reflect the venue, couldn't be updated by staff, and gave no way to promote events or take a reservation online.
Our Solution
We rebuilt their entire web presence in three phases, each one usable on its own. Phase one: a fast, ADA-compliant marketing site in the venue's dark-and-gold brand — full menu, banquet halls with a private-events inquiry funnel, Toast online ordering, and local SEO structured data. Phase two: a self-serve events CMS, so staff publish an entertainment night with a poster in about two minutes, with drafts, one-click publish, and automatic archiving of past events — no developer involved. Phase three, the flagship: a custom table-booking system. Admins design each event's actual floor plan in a drag-and-drop editor — tables, stage, dance floor, per-table pricing — or clone last event's layout in one click. Guests see that same floor plan on the event page, tap an open table, and pay the full table price through Stripe Checkout. Holds, confirmations, and refunds are all automatic.
What We Delivered
Inside the Booking System
The custom build that replaced phone-and-paper reservations
What guests see
- The event page shows the actual floor plan for that night, scaled to fit their phone — available tables tappable, booked tables grayed out and marked “Reserved.”
- Tapping a table shows the label, seat count, and price, with a Reserve & Pay button.
- Name and phone number, then straight to Stripe Checkout to pay the full table price by card.
- Payment confirms instantly: the table flips to Reserved on the live map, and confirmation emails go to both the guest and the restaurant — table number included.
What the venue controls
- A drag-and-drop floor-plan editor: round and rectangular tables, the stage, dance floor, bar, and DJ booth — dragged, resized, and rotated on a canvas.
- Per-table pricing set per event — change a price in the editor and the very next checkout uses it.
- One-click cloning of a previous event's layout — recurring formats set up in minutes, not an hour.
- Phone reservations and comps still work: any table can be manually booked with a name from the dashboard.
- One-click refunds that automatically reopen the table on the public map.
The engineering underneath
- Server-side pricing. The checkout amount is read from the database at booking time — never trusted from the browser.
- Atomic 5-minute holds. Starting checkout places a database-enforced hold on the table, so two guests can't pay for the same seat. Unfinished checkouts expire and the table frees itself.
- Self-healing edge cases. If a stale payment lands on a table that's since been taken, it's refunded automatically.
- Webhook-verified confirmations. Bookings are marked paid only by Stripe's signature-verified webhook — not by the browser redirect.
- Locked-down data. Row-level security keeps floor plans publicly readable only for live events, with writes restricted to authenticated admins; the booking map ships with an accessible list fallback for screen readers.
Built with
More Case Studies
Building a Credibility-First Website for a Newly Launched Law Firm
Partamian Law Firm launched with zero online presence. We built a professional, conversion-focused website that established their credibility from day one and started generating client inquiries within weeks of launch.
Read case study →Website Rebuild + Google Ads Management for a SoCal Towing Company
Alfa Towing Services needed more than a website — they needed to show up when someone's car breaks down and they're searching for help right now. We rebuilt their site and took over Google Ads management to drive consistent, qualified call volume.
Read case study →Have a similar challenge?
Schedule a free consultation and let's talk about what we can build for your business.