How We Built Delta Downtown's VIP Booking Funnel: 1,000+ Table Inquiries
How KeyesCode built deltadowntown.com and its VIP booking funnel. More than 1,000 VIP table inquiries since May 2025, about 60 a month, each one a complete lead in the venue's own admin portal. Plus Stripe ticketing, QR check-in and SMS consent.

The short answer: KeyesCode designed and built deltadowntown.com, the website for Delta Downtown in downtown Tampa, along with the admin system that runs it. Its "Book Your VIP Experience" form has captured more than 1,000 VIP table inquiries since May 2025, nearly all from different guests. That's about 60 a month, roughly two a day, and the recent pace is running above that average at around 70 a month. Every inquiry arrives with a name, email, phone number and a message, and lands in the venue's own admin portal.
How guests find Delta is covered in our Delta Downtown SEO case study, which looks at more than 78,000 Google Business Profile views. This post covers what we built, and what it converted.
The problem
Delta Downtown is a nightclub. Its revenue depends on filling tables and selling event nights, and its guests decide fast, usually on a phone, often the same week they plan to go out.
A brochure site wasn't enough for that. The venue needed three things from one system:
- A way to turn interest into a booking request. A guest who wants a table for a birthday should be able to ask for one in under a minute, without calling or DMing.
- A way to sell event tickets online and check those tickets at the door.
- One place to see every guest who reached out, so the team can follow up and market to them later.
Off-the-shelf tools could cover pieces of this: a form builder here, a ticketing platform there, a spreadsheet in the middle. But that means guest data scattered across vendors and per-ticket fees on every sale. We built it as one custom system instead. (We compare the two approaches in custom software vs. off-the-shelf platforms.)
What we built
There are two parts: the public website guests see, and the admin system the venue runs.
The public website
- A fast, mobile-first site built with React, Vite and Material UI, with a video hero, an events section and a map. The map uses Leaflet with dark CARTO tiles, so it needs no Google Maps API key.
- Events with pagination. Upcoming and past events are listed separately, with a "Show More Events" button instead of one long page. Each event has its own detail page with ticket types, availability and a sold-out state.
- Google Analytics 4 events across the funnel: form starts, form submissions, a
generate_leadconversion when an inquiry goes through, and ticket purchase attempts. - Privacy Policy and SMS Terms pages, linked from the footer and from the booking form itself.
The admin portal and backend
The backend is a NestJS API on PostgreSQL (via TypeORM), with a separate admin frontend that the Delta team logs into.
- Contacts. Every VIP inquiry is stored as a contact, newest first, with pagination. Staff can export everything to CSV and import contacts from CSV, so lists from other sources can be brought in.
- Event management. The team creates and edits events, sets dates and times, uploads flyers, and switches events on or off. Uploaded images are optimized before they're stored in Amazon S3.
- Stripe ticket sales. Tickets are sold through Stripe Checkout, which supports Apple Pay. Each event can have multiple ticket types, and the site switches to the next available type when one sells out.
- Idempotent purchasing. Double-clicks, page reloads and network retries are a real risk on a busy event night. Every checkout gets an idempotency key that's passed through to Stripe, and tickets are reserved inside a database transaction. A repeated request can't charge a guest twice or oversell an event. Expired reservations are cleaned up automatically.
- QR-code tickets and a door scanner. When Stripe confirms a payment, the system creates the ticket, generates a QR code and emails it to the guest using an MJML email template sent through Amazon SES. At the door, staff open the admin's Scan Tickets page, scan the code with the device's camera, and check the guest in. A ticket that's already been scanned is rejected, so a screenshot can't get two people in.
- SMS consent, synced to SimpleTexting. The booking form has two separate, optional checkboxes: one for booking-update texts and one for promotional texts. When a guest opts in, the system records what they agreed to, when, and where it came from. It then syncs them to the matching SimpleTexting list in the background. If a guest replies STOP, SimpleTexting tells the backend, the contact is marked as opted out, and the admin shows an "Opted out" badge.
How the VIP booking funnel works
The funnel is deliberately short:
- A guest lands on the site, usually from Google Search or Maps on a phone, and taps through to Book Your VIP Experience.
- They fill in four required fields: first and last name, email, phone, and a short message (up to 299 characters) saying what they want.
- They can optionally opt in to booking texts, promotional texts, or both.
- They submit. The inquiry is saved straight to the venue's database and appears in the admin's Contacts list, and GA4 records the lead.
Because all four fields are required, every inquiry is a complete lead with a way to reach the guest. That's the difference between a "contact us" box and a booking funnel. The form asks for exactly what the venue needs to call or text back, and nothing else.

The results
From May 2025 to mid-October 2026:
- More than 1,000 VIP table inquiries, nearly all from different guests. Very few people submitted twice.
- About 60 a month on average, or roughly two a day.
- The recent pace is running above that average, at around 70 a month over the last 90 days.
- Every inquiry is a complete, contactable lead, with a name, email, phone number and the guest's own description of what they want.
One honest caveat: the system records inquiries, not paid tables. Turning an inquiry into a booked table happens when the Delta team follows up, so we don't claim revenue or a close rate here. What the site guarantees is a steady, complete pipeline of guests who have already asked for a table.
What the data says about nightlife guests
The inquiry messages are free text, so we looked at what guests actually write. An inquiry can mention several things, and these figures are approximate:
- About 4 in 10 ask for a table, section or booth by name. Guests come to the form already knowing they want a table.
- Nearly 1 in 5 say "VIP."
- About 1 in 8 mention a birthday. Celebrations are a major reason people book.
- About 1 in 10 ask about bottle service.
- A typical party is eight guests, among the inquiries that state a group size. That's bottle-service sized.
Timing matters just as much:
- About 4 in 10 inquiries arrive on a Friday or Saturday.
- Two-thirds arrive between Thursday and Sunday.

People plan their night out close to the night itself. A request that sits unanswered until Monday has often already gone somewhere else, so follow-up should be staffed for the weekend, not the work week.
Takeaways for venues
- Make booking a form, not a phone call. A short form on a phone-friendly page turned interest into more than 1,000 written requests. Many of those guests would never have called.
- Require the fields you need to follow up. Name, email, phone and a message. A lead you can't contact isn't a lead.
- Read what guests write. The messages show what they want (tables, birthdays, bottle service, groups of around eight), which tells you what to package and promote.
- Staff follow-up for Thursday through Sunday. That's when two-thirds of requests arrive.
- Every lead already has a phone number. With consent captured at the form and opt-outs handled automatically, a venue can text guests about events and specials without building a list from scratch.
- Own your guest data. Inquiries, ticket buyers and SMS consent all live in one system the venue controls, with CSV export whenever it's needed.
A website that only looks good won't do this. It has to turn a visit into a request someone can act on. That's the case we make in why every small business needs a high-converting website.
Want something like this for your venue?
KeyesCode builds custom websites, booking funnels and the admin systems behind them for businesses in Tampa and beyond. See our web application development services in Tampa, or get in touch to talk about your venue.
Frequently asked questions
How many VIP inquiries has the Delta Downtown website generated?
More than 1,000 VIP table inquiries since May 2025, nearly all from different guests. That's about 60 a month on average, roughly two a day, and the recent pace is running above that at around 70 a month. Each inquiry is a completed "Book Your VIP Experience" form with a name, email, phone number and message.
What did KeyesCode build for Delta Downtown?
A mobile-first public website (React, Vite and Material UI) with events, a map and a VIP booking form, plus a NestJS and PostgreSQL backend with an admin portal. The admin covers contacts with CSV import and export, event management, Stripe ticket sales, QR-code tickets with a door scanner, emailed tickets, and SMS consent synced to SimpleTexting.
Does every VIP inquiry turn into a booked table?
No, and we don't claim it does. The system records inquiries, not paid tables. Turning a request into a booked table happens when the venue's team follows up by phone, text or email. What the site guarantees is that every inquiry is complete, with a name, email, phone number and a message describing what the guest wants.
When do nightlife guests send VIP table requests?
Close to the night out. About 4 in 10 Delta Downtown inquiries arrive on a Friday or Saturday, and two-thirds arrive between Thursday and Sunday. Venues should staff follow-up for the weekend rather than the work week, because a request left until Monday has often already gone elsewhere.
How does the site handle SMS consent and opt-outs?
The booking form has two optional checkboxes, one for booking-update texts and one for promotional texts. The system stores what each guest agreed to and when, then syncs consenting contacts to SimpleTexting. When a guest replies STOP, the contact is marked as opted out automatically and the admin shows an "Opted out" badge.
Want this kind of result for your business?
We'll audit your site for conversion gaps and suggest 2–3 AI integrations you could ship in 30 days. No pitch, no pressure.