Documentation

Bookings & passes

Bookings overview

Sell tickets, sessions, and day passes with capacity managed automatically across every sales channel.

What bookings can do

Mavos lets you sell bookable products alongside your regular menu or retail items. There are three booking styles, each created as a product type:

Product typeBest forHow capacity works
TicketEvents, classes, entry tickets, multi-entry passesA shared pool of spots per time slot — many customers can book the same slot until it's full. Can also be sold with no date (see Scheduled vs Anytime tickets below)
SessionLanes, courts, rooms, equipment hireA timed booking that takes over a specific resource for its duration
Multi-dayRoom stays, rentals, multi-visit passesA booking spanning one or more days, or a pass with a set number of uses

To turn these product types on, go to Settings → Organisation and enable them in the product types section.

Setting up resources

Resources are the physical things bookings draw on — lanes, courts, rooms, equipment. Set them up under Resources in the main menu for each location.

  1. Open Resources and use Add resources.
  2. Pick a Type — Tables is built in, and you can create your own (Lanes, Karaoke rooms, Courts…) right from the dropdown. Optionally pick or create a Group under the type (e.g. "Section 1" / "Section 2") — bookings that span several resources try to stay inside one group.
  3. Give it a Name (e.g. "Lane 1") and a Capacity (how many people it holds). To create several identical resources at once, set How many — names are numbered automatically ("Lane 1" … "Lane 8").
  4. Choose an Occupancy mode: Single booking (books it out) for things like lanes and rooms, or Multiple bookings until full for shared spaces.
  5. Leave the Bookable switch on so booking products can use it. (Dine-in tables default to bookable off — they power the POS Tables grid instead.)

Schedules

All schedules live in one place: Products → Availability. A schedule says WHEN something is offered, and many products can share one — run every lane, room and ticket from a single "Open hours" schedule if you like.

Create a schedule by picking its type — the right options appear for each:

  • Menu window — when regular menu items show on your menus (e.g. "Breakfast").
  • SessionsSession length, Starts every and an optional Buffer after, inside weekly Open days with an Open time / Close time.
  • Tickets — fixed Entry time(s) (e.g. 10:00, 14:00, 18:30) and Tickets per time (capacity). Choose Recurring dates for general entry, or Set dates for one-offs like a show — the set dates are when the ticket is USED; it can sell well beforehand.
  • Multi-dayOpen days plus Minimum / Maximum days for the stay. Choose Set dates instead of recurring days to open only specific dates (one or several single days).

Sessions and tickets can also use Set dates for one-off or irregular offerings.

Every booking schedule also has a Lead time (minimum notice), Book up to (days ahead), and an optional date range for seasonal offerings.

On a Ticket, Session or Multi-day product's edit page, tick the schedules it runs on, and inside each schedule choose which of the product's options are offered there (e.g. a "Weekend rate" option only on the weekend schedule). You can also create a new schedule right from the product page — it's saved to the Availability page and assigned in one step.

Product options carry the settings

Ticket, Session, Multi-day and Membership products are built from options — the things customers actually buy (Adult / Child, Dorm bed / Private room, membership tiers). On the product's edit page, the product itself holds just the name, description, image, category, tags and (for bookables) the shared resource pool; each option underneath has its own price, image, description, sale window, per-person pricing, modifiers, tags, resource subset and (optionally) its own accounting mapping. Options fold up so you can fill one out and add or duplicate the next, and everything saves together with the product.

Scheduled vs Anytime tickets

Ticket products come in two styles, chosen on the product's edit page:

  • Scheduled — the customer picks a date and session. Use this for events, classes and timed entry, where you want capacity managed per time slot.
  • Anytime — no date to pick; the ticket sells like a normal item. This is the right choice for multi-entry passes and open admissions, where the customer buys now and turns up whenever they like.

Ticket validity

Each ticket option can set a Validity — how long the ticket stays usable at check-in:

  • Booked date only (the default) — valid only for the date it's booked for.
  • From purchase — valid for a set number of days starting the moment it's bought.
  • From first use — valid for a set number of days starting when it's first scanned in.

You choose the number of days alongside the validity type. Check-in refuses a ticket that has expired or isn't valid yet. For a multi-use pass set to From first use, the clock starts on the first scan, so the days you allow all run from that first visit.

Slot prices

On the Availability page, Slot prices lets any session time carry its own price — every week (e.g. Friday 7pm is $35) or just one date (e.g. New Year's Eve). Pick the schedule and date, click a time, and set or clear its price. Price rules (weekend rates, early-bird) still adjust on top.

Day prices for multi-day stays

For Multi-day products, Day prices (multi-day) on the Availability page prices each night of a stay individually — handy when rates swing between weeks and days. Set a rate per weekday (e.g. Friday and Saturday nights cost more), then override any specific date (long weekends, holidays, peak season). A date override beats its weekday rate, and days without either use the option's base price. A stay's total is simply the sum of its nights.

Blocking out closures

Use Blocks on the Availability page to close sales for a window — block the lanes 2–4pm for maintenance, or block everything on a public holiday. A block can cover everything at the location, one schedule, one product, or one resource. "Everything" and per-product blocks also hide regular menu items for the window.

How customers book

On the kiosk or your QR/online ordering apps, tapping a bookable item opens everything on one page — no steps to click through:

  1. Photo and details at the top, so the customer knows what they're booking.
  2. Times for the visit date shown at the top of the menu — picking a time reveals the options below it straight away (skipped for Anytime tickets, which have no date to pick).
  3. Options and how many people — the product's options (Adult, Child, Weekend rate and so on), each with its own price and availability and a counter to add how many. If an option has add-ons (like shoe hire), they appear under it once its count goes above 0.
  4. Add to cart — a button fixed to the bottom of the page adds the booking, with a note that the time is held for a few minutes while they finish ordering.

Multi-day products pick their option against the date range chosen at the top of the menu; a session sold within a multi-day stay shows the individual days of that stay as a row of chips to choose from, right on the same page.

If nothing's available on the chosen date, the page shows "Booked out on <date>" with the next available date and a small calendar for that item — tapping any open day on it switches the customer's visit to that date and reloads the page with times for it, instead of leaving them stuck. Items with nothing available are also greyed out or hidden on the menu itself, following the app's setting for how unavailable products are shown; a greyed-out item still shows a badge explaining why — "Sold out", or "Sold out · next Thu 16" when a later date has room — and can still be tapped to see other days; a badge that reads "3 left" warns that a date is close to selling out. Once there's plenty of room, the badge disappears so the menu doesn't feel cluttered.

In each app's settings you can also turn on Show a date selection row below the menu bar, letting customers browse availability for any date; when it's off, everything defaults to today. When this is on, the day strip and the calendar it opens both show which days are sold out — struck through in the strip (still tappable, so customers can look at other options for that day) and struck through and un-tappable in the calendar view — and which are open, with a price shown under any open day that has one, so customers can see at a glance where to book without tapping in blind.

Where bookings can be sold

Bookings sell anywhere your other products do:

  • Counter POS — staff tap the product, pick a slot with the customer, and take payment. See Taking orders.
  • Kiosk — customers self-serve a date and time. See Kiosk setup.
  • Online — through your QR/online ordering apps. Each app has a Sell bookable products on this app switch in its settings. See Building apps.
  • Admin dashboard — click Create order on the Orders page to build a sale for a phone booking or a walk-in without going to a POS device; bookable items show the same time picker with a hold while you finish the order. See Finding and managing orders.
  • API — for your own website or third-party systems. See /developers.

While a customer checks out, their chosen slot is held for a few minutes so nobody else can take it. On the kiosk and QR/online apps, the cart shows a countdown for the soonest-expiring hold, and if a customer needs more time they can tap Extend hold to push it back out before it lapses. If a hold does expire, Re-book this time tries to grab the same slot again with one tap, and Edit lets them change the time or options without removing the item and starting over. Once paid, the booking is confirmed and the customer receives an email with a booking code and a QR link they can show on arrival.

Next: learn the day-to-day in Managing bookings.