Staff create a booking by clicking an available slot in any booking view (calendar, list, resource calendar, or kanban) and picking Book now. The booking drawer opens to the Create booking view, a side drawer with every setting needed in one scroll: tickets and pricing, customer details, optional internal custom fields, payment, and email options. The toolbar's Create new dropdown also exposes Custom time slot (for adding a one-off slot outside your regular schedule) and Custom resource slot (for manually blocking a room, staff member, or equipment). This article covers all three.
Getting started
Open any booking view (Bookings > Bookings) and either click an available slot to book it, or click the Create new dropdown in the toolbar to add a custom slot first.
How it works
The Create booking view is reached by clicking an available slot in any view (calendar, list, resource calendar, or kanban) and picking Book now from the action popover or row menu. The same booking drawer opens with the same fields regardless of which view you started from.
The toolbar's Create new dropdown has two options:
- Custom time slot opens the Create time slot drawer to add a one-off time slot outside your regular schedule (for special events or blocked-off periods). After creating, you can immediately book it.
- Custom resource slot opens the Resource slot drawer to manually create a resource slot (a block of time for a room, staff member, or piece of equipment). Covered in detail in the Resource slots article.
Permissions are checked at each entry point: Book now needs both bookings_create and booking_slot_update; Custom time slot needs booking_slot_update; Custom resource slot needs resource_slots_update.
The legacy Create new > Booking entry was removed. Staff no longer book from-scratch through the toolbar dropdown; instead they click an existing available slot or create a custom time slot first and then book it. The from-scratch flow may return in a future release if there's enough demand.
Step-by-step guide
Create a standard booking (via the drawer)
- Click an available slot in any booking view (calendar, list, resource calendar, or kanban). Pick Book now from the action popover or row menu
- The booking drawer opens to the Create booking view
- Under Tickets, set the number of players for each pricing category
- (Optional) Click the pencil icon next to a category to override its price for this booking. Click the checkmark to save, the refresh icon to restore the original, or the X to cancel the override
- (Optional) Under Promo code, search and apply a promo code
- (Optional) Toggle Waive taxes or Waive fees to remove either from the total
- Under Customer details, search for an existing customer by name, email, or phone, or type a new customer's details directly. Required fields: First name, Last name, Email. Phone is required if Require phone number on staff-created bookings is enabled in Booking slot settings
- If internal custom fields are configured, an Additional info section appears. Fill in the responses
- Under Payment options, toggle Take payment now if you want to collect payment immediately. Otherwise the booking is created with an outstanding balance
- If taking payment, set the Amount to pay, pick a Payment method, and enter the payment details (card form, gift card code, or stored card selector)
- Under Email options, toggle Do not send booking confirmation email if you don't want the customer notified. Toggle Send payment request email to customer if there's an outstanding balance and you want the customer to complete it themselves
- Click Create booking
Override a price on a single ticket
- In the Tickets section, click the pencil icon next to any category
- Adjust the price in the inline editor
- Click the checkmark to save the override for this booking
- Click the refresh icon to restore the original price
- Click the X to cancel without changing anything
Overrides only apply to this booking. The event's base pricing is not affected.
Apply a promo code
- In the Promo code section, start typing in the search field
- Pick a code from the autocomplete suggestions (shows value type and internal-only flag where applicable)
- Click the Apply button appended to the input
- The discount appears in the order summary with the code's name and a remove button
- To remove it, click the X next to the code in the summary
Multiple promos can be applied if they are combineable.
Look up or create a customer
- In the Customer details section, use the Customer lookup autocomplete to search by name, email, or phone
- Pick a result to pre-fill First name, Last name, Email, and Phone
- Or type directly into the fields if the customer is new. The customer record is created when you save the booking
- Use the reset icon in the lookup append to clear the selection
Take payment during creation
- Toggle Take payment now on
- Enter the Amount to pay (up to the total). This defaults to the full amount
- Pick a Payment method from the dropdown. Options available in your group include Card, Cash, Check, External, Customer credit, Gift card, and Pay later
- For Card with Stripe configured: either pick a Stored card from the dropdown (shows available cards on file) or pick Use a new card and fill in the card form. If the customer has an
end_user_id, you'll see Save this card for future payments - For Card with Square: use the embedded Square card form. Same save-card option
- For Card with Authorize.net: use the enhanced payment form
- For Card with Paystack: clicking create triggers a secure Paystack redirect
- For Gift card: search by code in the autocomplete and pick a card from the suggestions. The total and remaining balance appear
- For Customer credit: the customer's available credit balance appears next to the amount input; the pay amount is capped at the remaining credit
Configure email options
- Under Email options, toggle Do not send booking confirmation email to suppress the customer confirmation (useful for test or phone-only bookings)
- Toggle Send payment request email to customer to email the customer a link to complete payment later. The toggle disables automatically if the amount paid equals the full total
- Both toggles can be used together. A booking with no payment and no payment-request email is fully manual
Create a custom time slot
- Click Create new > Custom time slot
- The Create time slot drawer opens
- Under Slot details: pick the Game (event) and the Status (Available, Call to book, Blocked)
- Under Timing: toggle All day event if the slot spans the full day, otherwise set Start date, Start time, End date, End time
- For All day, set an optional Display text (e.g., "Available all day")
- Under Booking options (available / call-to-book only): toggle Allow bookings after start time, set Minimum booking notice or Maximum time after start with value + period (minutes, hours, days, weeks, months, years). Set Maximum bookings in advance the same way
- Under Display options: set the Minimum notice block off text or Time slot text that customers see, optionally Link to external page with URL
- For non-available statuses: add Notes explaining why
- Under pricing: toggle Enable custom pricing to override the event's base pricing for this slot. Configure Reservation style (private / public), Cumulative category pricing, Hide pricing rate. Add categories with tier-based pricing (participant count + price per tier). Toggle Allow deposit and Require only deposit amount during checkout with Deposit amount
- Click Save
Create a custom resource slot
- Click Create new > Custom resource slot
- The Resource slot drawer opens. See the Resource slots article for every field and rule
- Core fields: Start date, Start time, End date, End time, resource mode (Staff member or Anonymous), resource category, priority, concurrent events count, and blocking rules
- Click Create resource slot
Book from an action popover
On the resource calendar, clicking an unbooked slot opens a compact action popover with Book now and Add to cart buttons. On the kanban view, the Book now icon on the top of a card does the same. Both paths open the same Create booking drawer view.
Add to cart instead of booking immediately
- Click the slot's action popover and select Add to cart (or use the cart icon next to the slot in the list view)
- The slot is added to the toolbar Cart button with a count
- Click the Cart button to open the cart and check out multiple items as a single transaction
Reference
Entry points
| View | How to start a booking |
|---|---|
| List | Cart icon next to slot (for unbooked) or three-dot menu > Edit time slot then convert; Create new > Booking from toolbar |
| Calendar | Click slot > action popover > Book now or Add to cart |
| Resource calendar | Click slot > action popover > Book now or Add to cart |
| Kanban | Book now icon on the card, or Create new > New booking in toolbar |
| Anywhere | Create new > Booking / Custom time slot / Custom resource slot |
Create booking drawer: sections
| Section | Purpose |
|---|---|
| Tickets | Per-category pricing with quantity selectors, per-line override, and the running subtotal / taxes / fees / total |
| Waive options | Inline toggles for Waive taxes and Waive fees |
| Promo code | Autocomplete search + apply button. Supports buy-x-get-y rules and internal-only codes |
| Customer details | Lookup autocomplete (by name / email / phone) and inline edit of First name, Last name, Email, Phone |
| Additional info | Internal custom fields, if configured in Booking slot settings |
| Payment options | Take payment now toggle, Amount to pay, Payment method, card/gift-card/credit-specific fields, Save card option |
| Email options | Do not send booking confirmation email, Send payment request email to customer |
| Action buttons | Cancel, Create booking |
Tickets section fields
| Element | Description |
|---|---|
| Category name | Label from event pricing (e.g., Adult, Child, VIP) |
| Rate (rendered) | Formatted per-ticket price |
| Pencil (edit) | Override the rate for this booking |
| Quantity input | Number of players for that category |
| Line total | Quantity × rate (or override) |
| Subtotal | Sum of all line totals |
| Taxes | One row per applicable tax (inclusive taxes are labeled "(included)") |
| Fees | One row per non-optional fee |
| Total | Final amount after waives and adjustments |
Price override inline editor
| Icon | Action |
|---|---|
| Pencil | Enter override mode |
| Check | Save the override |
| Refresh | Restore the original price |
| X | Cancel without changes |
Customer details fields
| Field | Required | Notes |
|---|---|---|
| Customer lookup | No | Autocomplete by name / email / phone; selecting pre-fills the form |
| First name | Yes | |
| Last name | Yes | |
| Yes | ||
| Phone | Conditional | Required when Require phone number on staff-created bookings is on in Booking slot settings |
Payment methods
| Method | Extra input |
|---|---|
| Card | Gateway-specific form (Stripe, Square, Authorize.net, or Paystack) or stored card dropdown |
| Cash | None |
| Check | None (may prompt for check number in some setups) |
| External | None. Records the payment as collected externally |
| Customer credit | Pulls from the customer's credit balance; capped at remaining |
| Gift card | Gift card code autocomplete with total / remaining display |
| Pay later | No payment recorded at creation |
Options available depend on your group's payment settings. Stored card selection appears for Stripe or Square when the customer already has card(s) on file and the gateway has card storage enabled. Saving a new card appears only when the customer has an end_user_id (created customer, not ad-hoc).
Email options
| Toggle | What it does |
|---|---|
| Do not send booking confirmation email | Suppresses the automated confirmation email for this booking |
| Send payment request email to customer | Sends a link to complete payment later. Auto-disabled when amount paid equals the full total |
Phone-required rule (recently shipped)
When Require phone number on staff-created bookings is enabled in Booking slot settings, the Phone field is marked with a red asterisk on every internal booking form: the create booking drawer, the kanban create drawer, the legacy calendar booking modal, the legacy bookings list, the new transaction page, the customer-edit drawers used during booking, and the customer tab on the transaction details page. Saving without a phone is blocked on the frontend and rejected by the server. Public booking pages are not affected. Item-only and gift-card-only transactions on the new transaction page are also unaffected; the rule only kicks in when a booking is in the cart.
Create time slot drawer: sections
| Section | Shown when | Purpose |
|---|---|---|
| Slot details | Always | Pick the Game and Status |
| Timing | Always | All-day toggle + date/time range |
| Booking options | Status = Available or Call to book | Allow late booking, min notice / max after start, max in advance |
| Display options | Status = Available or Call to book | Customer-facing text, external link |
| Notes | Status ≠ Available | Notes explaining the status (visible in the slot) |
| Custom pricing | Toggle on | Per-category tiered pricing, reservation style, cumulative pricing, hide rate, deposit rules |
Custom pricing configuration
| Field | Description |
|---|---|
| Enable custom pricing | Master toggle |
| Reservation style | Private (one group per slot) or Public (multiple groups share) |
| Cumulative category pricing | Accumulate prices across tiers rather than stepping into a single tier |
| Hide pricing rate | Hide the rate display to customers |
| Category name | Custom category label (e.g., "Adult", "VIP") |
| Participant count tier | Count threshold |
| Price (per tier) | Price for that tier |
| Allow deposit | Master toggle for deposits |
| Require only deposit amount during checkout | Customer only needs to pay the deposit to reserve |
| Deposit amount | Numeric value with currency prefix |
Good to know
- All three flows open a side drawer (or modal in the resource calendar). Closing the drawer without saving discards any changes.
- The Customer lookup autocomplete searches existing customers in this group. If the customer is in another group, they'll be found on search; saving the booking scopes the customer to the current group's records.
- Stored cards only appear for Stripe and Square gateways with card storage enabled at the payment settings level. The option to save a new card only appears when the customer is already a created record (not a new walk-in being captured).
- Waive taxes and Waive fees are toggles during booking creation. They don't persist on the slot; they apply only to this one transaction.
- Internal custom fields captured during booking creation are saved to the same table as public-booking-site responses but flagged as "internal" source, so they're hidden from customer-facing emails and invoices.
- The Create resource slot flow creates a RESOURCE slot, not a booking slot. Resource slots are optional infrastructure that allow automatic resource assignment to bookings. See the Resource slots article.
- Price overrides, discounts, and waived taxes/fees only affect this booking. They don't change the event's base configuration.
- When a customer buys tickets for an event with Public reservation style, multiple groups can share the same time slot. In the booking drawer, each group is a separate booking on the same slot.
- The cart lets you build a multi-slot checkout. Each slot in the cart is a separate booking within one transaction.
FAQ
Q: What's the difference between Booking, Custom time slot, and Custom resource slot?
A: Booking reserves an existing time slot for a customer. Custom time slot creates a one-off time slot outside your regular schedule (useful for special events or irregular hours). Custom resource slot creates a block of time for a room, staff member, or piece of equipment that bookings can be automatically assigned to.
Q: Why is the Phone field required suddenly?
A: Your admin enabled Require phone number on staff-created bookings in Booking slot settings. Public booking pages are not affected; only internal booking flows. If you need to turn it off, go to the gear menu > Booking slot settings > Customer fields.
Q: Can I create a booking without a payment?
A: Yes. Leave Take payment now off. The booking is created with an outstanding balance. Optionally toggle Send payment request email to customer so they can pay themselves later.
Q: Can I override the price for one customer without changing the event?
A: Yes. Click the pencil icon next to any ticket category in the Tickets section to edit the price inline. The override only applies to this booking.
Q: What happens if the customer already exists?
A: The Customer lookup autocomplete finds them by name, email, or phone. Select to pre-fill the form. The existing customer record is reused, so their profile (credits, waivers, notes, etc.) stays intact.
Q: Can I use customer credit as payment?
A: Yes. Pick Customer credit as the payment method. The available balance appears; you can pay up to that amount. Remaining balance after the booking is available for future purchases.
Q: Can I apply multiple promo codes?
A: Yes, if the codes are marked combineable. Search and apply one at a time; each appears as a separate line in the order summary.
Q: What if the customer buys a gift card for themselves: does that trigger gift card delivery emails?
A: The Simple emails system sends a gift card purchase confirmation to the buyer, and a gift card delivery email to the recipient. If the buyer and recipient are the same person, both arrive at the same address. Automations built on the new Advanced emails system skip the gift card recipient send quietly when the buyer and recipient match.
Q: How do I book multiple slots at once?
A: Use Add to cart on each slot (from the action popover or list-view cart icon), then click the Cart button in the toolbar to check out all cart items as one transaction.
Q: Why is the Save card option missing?
A: It only appears when the customer has an end_user_id, meaning the customer is already a created record in the system. For brand-new walk-in customers being captured during the booking, the card save option shows up after the booking is created and the customer record exists.