> ## Documentation Index
> Fetch the complete documentation index at: https://www.twicecommerce.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Settings - Bookings

> Set the booking interval: how often a new booking can start across your account.

export const viewAccessDefinition = "The view operation: read a record without changing it.";

export const manageAccessDefinition = "The manage operation: update an existing record. Creating and deleting are separate operations.";

export const deleteAccessDefinition = "The delete operation: remove a record. Most areas archive instead of deleting.";

export const createAccessDefinition = "The create operation: add a new record. Updating an existing one is the manage operation.";

<Info>
  This view can look different dependent on your user role. <br />See [Visibility and permissions](#visibility-and-permissions) for details.
</Info>

## Primary purpose

Bookings sits under **Operations** in Settings and holds one setting, **Booking interval**. It decides how often a new booking can start: pick 5, 10, 15, 30 or 60 minutes. An account that has never saved the setting runs on 15 minutes.

The page describes it as **"How often a new booking can start. The storefront and admin booking pickers offer start times on this grid, and a booking placed off it is rejected."**

<AccordionGroup>
  <Accordion title="What the grid counts from">
    Start times are counted from local midnight at the service location fulfilling the booking. A 60-minute interval means on the hour, a 30-minute one on the hour or half past, and a 10-minute one at 10 past, 20 past and so on.

    Read the grid on the location's clock rather than yours. It holds across daylight saving switches and in timezones offset by half an hour.
  </Accordion>

  <Accordion title="Where the interval is enforced">
    Customer-facing pickers offer start times on the grid, so an off-grid time is not usually reachable. Two checks stand behind that:

    * The storefront cart flags an off-grid line **"Not available - bookings cannot start at the selected time"**, so the customer picks another start time before checking out.
    * Checkout rejects an off-grid start when it creates the order.

    Admin order creation is exempt. Staff can book a start time the grid does not offer, which is how a phone booking at 09:05 still goes through on a 15-minute grid.
  </Accordion>

  <Accordion title="Changing the interval later">
    Only new bookings are checked, so changing the setting never invalidates an order that already exists. A booking placed on the old grid stays valid and stays editable.

    Customers with an item already in the cart are the one group who notice the change: a start time that was offered before can now fail the cart check.
  </Accordion>

  <Accordion title="Overriding it on one listing">
    A listing can run on its own interval, set under **Listing → Limits** in the **Booking limits** card. A listing nobody has set follows this account setting, including later changes to it.

    Picking a value on the listing pins it there. The listing select offers the same five intervals and no "follow the account" option, so returning a pinned listing to the account setting is not something the Limits tab can do.

    A cart that mixes listings on different intervals is checked line by line, each on its own grid.
  </Accordion>
</AccordionGroup>

## Related concepts

<AccordionGroup>
  <Accordion title="Availability">
    The interval decides which start times a picker generates. Everything else on the [availability](/docs/concepts/catalog/availability) evaluation then decides which of them are open.
  </Accordion>

  <Accordion title="Listing limits">
    The [Limits tab](/docs/catalog/listings/limits) holds the listing-level override, next to the duration limits and the order deadline. Duration limits bound how long a booking runs; the interval bounds when it starts.
  </Accordion>

  <Accordion title="Locations">
    The grid resolves on the service [location's](/docs/concepts/admin/locations) timezone, so one listing sold from two timezones runs on each location's own clock.
  </Accordion>
</AccordionGroup>

## Visibility and permissions

This page is gated by `account_settings:orders`, in the four operations: <Tooltip tip={viewAccessDefinition}>view</Tooltip>, <Tooltip tip={createAccessDefinition}>create</Tooltip>, <Tooltip tip={manageAccessDefinition}>manage</Tooltip> and <Tooltip tip={deleteAccessDefinition}>delete</Tooltip>.

Owner and Admin hold every operation. Manager and Member do not hold it at all. It is the same gate as the sibling [Orders](/docs/settings/orders) page, so a role that reaches one reaches the other.

For what each operation means and the full role matrix, see [Users & Roles](/docs/settings/users-roles).

## Related articles

<CardGroup cols={2} className="doc-rows-condensed">
  <Card title="Purchase and booking limits" icon="gauge" href="/docs/guides/catalog/purchase-and-booking-limits">
    Set the interval on one listing, alongside the duration limits and the order deadline.
  </Card>

  <Card title="Listing Limits tab" icon="sliders" href="/docs/catalog/listings/limits">
    The tab reference, field by field.
  </Card>

  <Card title="Availability" icon="calendar-days" href="/docs/concepts/catalog/availability">
    How a start time is judged once a picker has offered it.
  </Card>

  <Card title="Orders" icon="receipt" href="/docs/settings/orders">
    The sibling Operations page, on the same permission.
  </Card>
</CardGroup>
