Antylogic
DemoApp login

399 operational guides

Docs sections
DocsReservations
Device

Create a Reservation from the Calendar

Create an internal phone reservation from the Harbor Soho reservations calendar: open the weekly view, launch the optimised booking flow from the service occurrence, choose party size, table preference and slot, then save a confirmed reservation or add the request to the waitlist.

In this article

Use this guide when the front-of-house team is taking a phone booking while reviewing the weekly reservations calendar for Harbor Soho.

The calendar gives the operator the service context. Selecting a service occurrence opens the occurrence detail, where the verified `New reservation` action starts the optimised modal with the service already selected.

Before you start

  • You are signed in to Harbor Demo Group with Harbor Soho selected, with active `orgId` and `locationId` context.
  • Your location role includes `reservation:manage`; supporting access is also needed for optimiser availability, automatic booking, customer creation and layout viewing when tables are selected.
  • The selected date has an open automatic service occurrence, such as `Soho lunch service`, with `layout_id` and `optimization_config_id`.
  • The occurrence is not in the past and is not manual, waitlist-only, completed or closed.
  • For live capture or save paths, the documentation runtime must use a non-past `BOOKING_OPTIMIZATION_OCCURRENCE_ID`; the seeded GB `SERVICE_OCCURRENCE_START` is `2026-06-02T12:30:00+00:00`, which is past on `2026-06-06`.

Instructions

  1. 1.

    Open the reservations calendar

    Open `/:orgId/:locationId/calendars/reservations?mode=week` and review the weekly service blocks, existing reservations and operational counts before starting a new booking.

  2. 2.

    Start from the service context

    Use `New reservation` from the calendar when you need a date-led booking, or select a service occurrence and use `New reservation` on the occurrence detail when the service should already be selected.

  3. 3.

    Confirm party size

    In the optimised modal, confirm the service context and enter the number of guests. From occurrence detail, the modal starts after the date and service steps because the occurrence is already known.

  4. 4.

    Choose table preference

    Leave the table mode as `indifferent` when any suitable table is acceptable. For preferred, required or assigned tables, choose the mode and select tables from the Harbor Soho layout, such as `B1` or `B2`.

  5. 5.

    Select an optimised time

    Review the available slots and choose the best time. The modal can show score, saturation, overlap, table preference and possible tables; double-sitting slots require exit-time confirmation.

  6. 6.

    Enter guest details

    Enter the guest name and phone number. This flow creates a new `customer` for the booking; it does not search for or reuse an existing customer.

  7. 7.

    Save or add to waitlist

    Save to create the customer and book the selected optimised slot with channel `phone`. If no suitable slot is available, or the operator does not want to accept a double-sitting slot, use `Add to waitlist` instead.

Validations and limits

  • `New reservation` is shown only when the location role can manage reservations.
  • Loading services needs a valid date and a backend viewing permission such as `reservation:view`, `optimization:view` or `reservation-availability:view`.
  • The service candidate must be an automatic, open service occurrence with `layout_id` and `optimization_config_id`.
  • `party_size` must be greater than zero; the UI accepts 1 to 999 guests, but capacity rules may force assigned tables.
  • When table mode is not `indifferent`, at least one table must be selected.
  • A slot is required unless the operator chooses the waitlist flow; double-sitting slots require exit-time confirmation.
  • Guest name and phone are required before submit; the customer creation request requires `full_name`.
  • Availability is recalculated at save time, so the selected `starts_at` can be rejected if it is no longer available.
  • Waitlist entries keep table preferences or restrictions but do not create table assignments.

Expected result

The customer and reservation are created for Harbor Soho. A confirmed optimised booking is saved with channel `phone`, the occurrence and reservations refresh, and the occurrence detail opens when the saved reservation has an occurrence; if no suitable slot is used, the request is stored as a waitlist entry.

Related articles