Skip to main content
A booking is the unit of revenue. Every reservation - a member joining a class, renting an area, booking a one-on-one with an instructor, or buying an event ticket - is stored as a booking row with one or more transactions attached. The list page lives under Schedule > Bookings; the detail page is where you handle payment, check-in, cancellation, and notes. If you haven’t picked a check-in flow yet, start with Check-in models. The payment and cancellation rules are set per booking policy.

Overview

  • One record for every reservation - area rentals, class seats, instructor sessions, and event tickets are all bookings with transactions attached.
  • Book on behalf of anyone - reception can create a booking for a member, and (when the policy allows) for someone without a profile yet.
  • Price the moment you book - the dialog shows a live breakdown from the resource price, membership coverage, external programs, promotions, and manual adjustments.
  • Take payment and check-in from one place - add a payment, confirm a pending booking, and check the member in without leaving the detail page.
  • Recurring reservations - repeat area and instructor bookings on a pattern, then edit or cancel this instance or all future ones. A series with an end date is created in full; see Repeating schedules.
  • Full money trail - transactions, payments, and refunds are all visible per booking for a clean audit.

The list page

The bookings list has four tabs with live counts: All, Upcoming, Past, and Cancelled. Upcoming is the default tab. Each tab is paginated and sortable; the cancelled tab uses a dedicated endpoint with a leaner response shape. Click any row to open the booking detail page. Click Add booking in the top right to create one from scratch.

Creating a booking

The booking dialog has three sections:
  • Contact - pick the member from your contacts. If the matching booking policy allows anonymous bookings, the contact is optional and admins can record bookings for people who don’t have a profile yet.
  • Type - pick Area, Class, or Instructor. Each routes to its own selector (gym filter applies). Selecting a class also locks the date/time to the class occurrence.
  • Schedule - start time, end time, and notes. The booking duration step from the policy controls how the end time snaps to allowed lengths.
The price breakdown appears below the type section. It shows the line item (area price per hour, instructor price, or class price), any promotion or manual price adjustment, and the total. If membership benefits or external programs cover the booking, that’s reflected here. At the bottom of the create dialog, Send confirmation email controls whether the member gets the confirmation. It’s checked by default; uncheck it when you’re recording a booking that’s already been communicated out-of-band. The checkbox is only on create - editing an existing booking does not re-send confirmation. Admin-created bookings bypass the At booking payment enforcement so you can record a reservation that will be paid later. The balance is still collected before check-in unless the policy is set to None. See Booking policies for the three enforcement modes.

Overriding a scheduling conflict

When you try to book a court, coach, or instructor that’s already taken, 1club tells you why - and if you have permission, lets you go through with it anyway. There are two kinds of refusal:
  • A policy guard - the instructor is outside their working hours, on a break, or on time off; the area is blocked; or the booking falls outside the policy’s duration, notice, or advance-booking limits. Save relabels itself to Book anyway, and choosing it resubmits immediately with no extra step.
  • A genuine conflict - the court or the coach is already booked for that time. This opens a dialog that names exactly what’s being overlapped (an existing booking, a class, a blocked period, time off, or a break) and requires a note before you can save. The note is stored on the booking and shown on its calendar card, so anyone glancing at the schedule can see the overlap was deliberate - useful for something like two half-court groups sharing one tennis court, or a one-off exception the team has agreed to.
A live event taking over an area or an instructor is never overridable, at either tier - that stays a hard stop.
Only staff who can manage bookings (Full access on the Booking module, Club scope or higher) see either override. Front Desk and Instructor hold create/view access by default, not manage, so they get the plain refusal with no override option. The same split applies to classes, gated by the Classes module instead. See Roles and permissions.

The booking detail page

The detail page header shows the booking title with status chips (confirmed, pending, cancelled, paid/unpaid) and a row of actions: Add payment, Notify participants, Edit, Cancel, and (when the booking is pending) Confirm. Once a booking is confirmed and within the check-in window, an Add check-in action also appears. The body uses a two-column layout. The left column is the info table: created at, created by with the booking source (one of admin, portal, app, network, website, kiosk, integration, api), customer or coach, recurrence summary, entrance method, and any discount. The right column lists Players for area bookings whose area type allows multiple participants (each player can carry their own per-share payment) and shows a yellow note card if the booking has notes. When the booking is part of a multi-line order, the order summary is rendered alongside the info table so you can see the other lines and the order total. Cancelled bookings show a red alert at the top with the cancellation reason, timestamp, and the user who cancelled. Event-ticket bookings are titled with the event name, the order line item names the event and ticket type, and the booking’s transaction reference reads Event: {title} - {ticket}. See Events for the attendee list and check-in. Below the info layout, three tabs hold the booking’s financial and audit history:
  • Transactions - every transaction tied to the booking, with payment status and remaining balance.
  • Payments - every payment across those transactions (most useful for split or partial payments).
  • Bookings - only shown for recurring bookings; lists sibling occurrences in the same recurrence series.
When you switch a booking’s entry to a membership or an external program, the booking’s total price is reset to 0. A membership has no per-booking charge, and an external program bills through its own per-visit transaction - so the booking itself carries no price. Switching back to a paid entry recalculates the price.

Paying for a booking

The Add payment action opens the payment dialog. If the booking has one outstanding transaction, the amount is editable and defaults to the remaining balance. If the booking has multiple outstanding transactions (for example, a recurring series or a multi-line order), the amount is locked to the sum of all remaining balances and the server settles them atomically. Partial multi-transaction payments are not supported - use the Transactions tab to pay them individually. The right-click and mobile-tap menus on the Schedule page expose the same Add payment action without opening the booking.

Cancellations

The cancel action opens a dialog where you record a reason. The refund follows the cancellation rules on the matching policy: tiered refund percentages based on how many hours in advance the cancellation happens. If no cancellation rules are configured on the policy, the cancellation refunds 100%. The cancellation creates a refund transaction (visible on the Transactions tab) and emits a cancellation notice to the member. The booking row moves to the Cancelled tab.

Recurring bookings

When the booking type is area or instructor, you can set a recurrence pattern in the dialog: how often it repeats, and how the series ends - Until date, After N times, or Never. Editing a recurring booking lets you change the current instance only, or apply changes to all future occurrences. Deleting offers the same scoping. A series that ends on a date or after a set number of repeats is created in full when you save, so a court held for a season shows as occupied for every one of those dates straight away. Never keeps a rolling eight-week horizon instead. A series can cover up to 520 occurrences; see Repeating schedules. Each occurrence is priced and checked for availability on its own date. An occurrence that cannot be placed is skipped rather than double-booked - the court is blocked or already taken at that time, or the class it attends is full or does not run that day. The Bookings tab on the detail page lists every sibling occurrence in the recurrence series.

Worked examples

Padel court booked over the phone

A regular calls to book a court for tonight. Reception opens Add booking, picks the contact, sets Type to Area, selects the court, and sets the hour. The price breakdown shows the court’s per-hour rate. Because the booking is admin-created, At booking payment enforcement is bypassed - the reservation is recorded and the balance is collected at the desk when they arrive. For a doubles game, add the other players so each guest seat carries its own share.

Personal-training session

To book a one-on-one, set Type to Instructor and pick the coach. The instructor’s session price seeds the breakdown. If the member’s plan covers PT, switch the entrance to their membership and the booking price resets to 0.

Standing weekly court

A member wants the same court every Tuesday at 18:00 for the season. Create an Area booking, turn on recurrence with a weekly pattern, and set Ends to Until date with the last Tuesday of the season. Every one of those Tuesdays is reserved when you save, so the court is visibly occupied for the whole season rather than just the next few weeks. The Bookings tab lists every occurrence; edit or cancel one week without touching the rest, or apply a change to all future weeks.

Recording a class booking that’s already paid

A member paid cash at the desk for a drop-in yoga class. Create a Class booking, add the payment on the detail page, and uncheck Send confirmation email if they were already told in person.

Tips & best practices

  • Use admin bookings for phone and walk-in reservations. They bypass upfront-payment enforcement, so you can record the booking now and collect at check-in - the policy still protects you at the door.
  • Check the price breakdown before saving. It’s the fastest way to confirm a membership or external program is covering the visit, or that a promotion applied.
  • Pay multi-transaction bookings from the right place. For a single balance, use Add payment; for individual lines of a recurring series or multi-line order, use the Transactions tab.
  • Cancel with a reason. The reason and refund are recorded and the member is notified automatically, which keeps disputes clean.
  • Prefer entrance switching over manual price edits. Setting the entrance to a membership or external program zeroes the price correctly, rather than hand-editing the total.

Troubleshooting

Issue: I can’t complete a check-in - payment is blocked. Solution: The matching booking policy enforces payment at check-in (or at booking with an outstanding balance). Take payment with Add payment, confirm an active membership, or apply an external program, then check the member in. Issue: The booking price is 0 and I expected a charge. Solution: The entrance method is set to a membership or external program, both of which carry no per-booking charge. Switch the entrance to a paid method to recalculate the price. Issue: The end time won’t snap to the length I want. Solution: The booking duration step on the policy controls allowed lengths. Adjust the step (or min/max slot) on the matching booking policy. Issue: A partial payment across several transactions was rejected. Solution: Partial multi-transaction payments aren’t supported from Add payment - it settles all balances atomically. Pay the lines individually from the Transactions tab instead. Issue: The member didn’t get a confirmation email. Solution: Send confirmation email is only offered on create, and editing never re-sends it. If it was unchecked, notify the member from Notify participants or Compose. Issue: I get “This area is already booked for this slot” (or the instructor equivalent) with no option to book anyway. Solution: Overriding a scheduling conflict needs Full access on Booking (or Classes, for a class) at Club scope or higher - Front Desk and Instructor don’t have it by default. Grant it in the permissions editor, or make the change from a Manager or Admin account.
  • Booking policies - Payment timing, cancellation refunds, lead times.
  • Schedule - The calendar where these bookings show up.
  • Classes - Class-bound bookings have their own list and detail flow.
  • Events - Event tickets become bookings with their own attendee list and check-in.
  • Payments and Transactions - Money side of every booking.
  • Check-in models - Entrance method that satisfies payment-at-check-in.