How guests book a package — the full booking flow
The package booking page is the main reservation experience guests see when they visit your booking link. It walks them through selecting a package, choosing a time slot, entering their details, and paying.
Land on the package page
The page loads at the `/package` route. At the top, guests see your venue name, a hero image (on mobile), and tabs for navigating between **Reservations**, **Contact Us** (event inquiry), and an optional **Custom Tab** if enabled. A date selector sits below the tabs. It defaults to today's date. Tapping it opens a calendar to pick a different day. On desktop, a sidebar shows the venue photo, address, phone number, directions link, menu link, and social media icons. If multiple venues are configured, a **Change** link lets guests switch locations.
Browse and select a package
Below the date selector, a **Select a package** heading introduces the list of available packages. Each package card shows: - Package name and image - Short description - Price (with pricing method — per person, per hour, flat rate, etc.) - Guest range (e.g. "2–10 Guests") - Duration or duration range If the venue has package tags configured, a horizontal filter bar appears above the list. Guests tap a tag to narrow the packages shown. An "All" tab shows everything (unless hidden by admin config). Clicking a package card (or the **+** button) expands it to reveal the full booking panel.
Configure the reservation
Inside the expanded package card, guests see: - **Full description** — rendered from the package's HTML description field - **Select Date** — a date picker (same date as above, can be changed here too) - **Guests** — a dropdown with the package's min–max guest range. Selecting a guest count beyond the maximum redirects to the Contact Us / event inquiry form. For age-group-based packages, separate quantity selectors appear per age group instead of a single guest dropdown. - **Duration** — only visible if the package has duration choice enabled. Shows a dropdown with the configured duration options. - **Resource Quantity** — only visible if `showResourceQuantity` is enabled. Lets guests choose how many lanes/bays/courts to book.
Pick a time slot
After setting the date and guest count, available time slots load below under a **Select Time** heading. Each slot shows: - The start time - The price for that slot (unless the package hides prices on time cards) Guests tap a time slot to select it. The selected slot highlights. If no slots are available for the chosen date, a "no availability" message appears with the venue's configured inactive-package text. If the package has **Show Next Available Times** enabled and the selected date has no availability, the system automatically shows time slots on the nearest future dates under an **Other dates with availability** heading. Some time slots may trigger a **21+ age policy checkbox** — guests must confirm their party meets the age requirement before continuing.
Tap Continue
Once a time slot is selected (and any age policy checkbox is checked), the **Continue** button becomes active. Tapping it advances to the next step. The system determines the next step dynamically: 1. **Activities** — if the package supports multi-activity selection, guests pick additional activities first 2. **Add-Ons** — if the venue has add-ons configured, the add-ons selection page loads 3. **Account / Login** — if the guest is not logged in, they create an account or continue as a guest 4. **Reservation Details** — the guest details form (contact info, custom fields, notes) 5. **Payment** — Stripe, Square, or Fortis payment form plus order summary 6. **Confirmation** — booking confirmed with reservation number and email receipt
Select add-ons (if available)
The add-ons page shows a grid of available extras — food packages, drink upgrades, shoe rentals, merchandise, etc. Each add-on card displays: - Image, name, short description, and price - A **+** button to add it Tapping the **+** button opens a modal where guests pick quantity, select modifier options (e.g. size, flavor), and add notes. Required add-ons are marked with a red asterisk and must be selected before continuing. If the venue has add-on tags, a filter bar appears at the top to narrow the list. A minimum purchase threshold can block checkout until the subtotal meets the configured amount. On desktop, the **Order Summary** panel appears on the right showing the running total.
Enter reservation details
The **Reservation Details** page collects guest information in sections: **Contact Details** — First name, last name, phone number (with country code picker). Birthday field appears if enabled in admin settings. **Guest Details** — Player names, shoe sizes, bumper preferences (for bowling integrations like Steltronic), or other per-guest fields configured on the package. **Additional Info** — Custom questions configured on the package: dropdowns, date pickers, text fields, occasion selector, "how did you hear about us", game type selection, etc. Required fields are marked with a red asterisk. **Notes** — A free-text notes field if enabled by the venue. On desktop, the Order Summary sidebar shows the booking details with an **Edit** button to go back and change selections.
Review the order summary and apply discounts
The **Order Summary** appears on the right sidebar (desktop) or as a collapsible section (mobile) throughout the checkout flow. It shows: - Venue name and package name - Date, time, and guest count tags - Line items: base reservation price, each add-on with quantity and modifier details, subtotal - Fees: any custom fees configured by the venue - Discount and coupon amounts (if applied) - Tax (if applicable) - Deposit percentage or amount - Grand Total and **Due Now** amount **Promo Codes and Gift Cards** — A text field lets guests enter a promo code or gift card number. If the venue supports both, tabs toggle between "Promo Code" and "Gift Card." Applied coupons appear as removable chips. Gift cards prompt a PIN entry (if not using GiftUp) and show a confirmation modal with the available balance.
Complete payment
The payment page presents the configured payment provider: - **Stripe** — credit card form with saved cards for returning customers - **Square** — embedded Square payment form - **Fortis** — Fortis hosted payment fields Venue policies and waiver text appear above the payment button. The **Due Now** amount is displayed prominently. If the deposit calculates to zero (e.g. full gift card coverage or free package), the payment step is skipped entirely and the reservation is confirmed immediately. For reservations being modified, the system calculates the price difference and shows the adjusted amount due.
See the confirmation
After successful payment, the **Reservation Confirmed** page shows: - A confirmation icon - "Reservation Confirmed" heading - Reservation number (e.g. #12345) - A note about checking email (including spam folder) - The email address the confirmation was sent to - A **Go Back to Homepage** button (or **Invite Guests** if the package supports guest invitations) On desktop, the full Order Summary appears alongside the confirmation.
Updated May 12, 2026
Was this helpful?