Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Booking Status List

Attribute Reference

The following attributes and columns determine the status logic:

  • active? → Indicates if the booking is currently valid and open.
  • ack? → (Acknowledged) Indicates if the restaurant or system has confirmed the booking.
  • is_temporary?→ true when booking not paid for prepaid type booking
  • prepared?→ Indicates if the order is currently being prepared (for H@H package).
  • adjusted?→ Was the booking modified?
  • no_show → Customer failure to arrive
  • arrived → Customer physical check-in
  • refund→ Indicates if booking have refund guarantee

Detailed Condition Summary

1. Initial State Checks

  • :waiting_for_payment→ Assigned if the booking is active and in a temporary state, such as during a payment flow.
  • :no_show→ Assigned if the booking is flagged as a no-show.
  • :arrived→ Assigned if the customer has arrived.

2. Unacknowledged Active Bookings

If the booking is active but not yet acknowledged (active? && !ack?):

  • :cancelled→ Assigned if the cancellation was initiated by the user.
  • :rejected→ Assigned in all other unacknowledged cases, such as a restaurant rejection.

3. Inactive Bookings

If the booking is no longer active (!active?):

  • :cancel_modified→ Assigned if the booking was modified or changed.
  • :cancelled_with_refund→ Assigned if a refund process was initiated during cancellation.
  • :cancelled→ The default status for general inactive bookings.

4. Acknowledgment & Preparation

If the booking is active and has passed previous checks:

  • :pending_confirmation→ Assigned if the booking is active but lacks an admin or restaurant confirmation ID.
  • :rejected→ Assigned if a confirmation attempt exists but acknowledgment failed.
  • :order_being_prepared→ Assigned if the meal preparation has started.

No-Show Scenario

Conditions:

  • Reservation status was confirmed
  • Customer didn’t check in within grace period (e.g., 30 min after reservation time)
  • No cancellation made
  • Staff action
  • Payment typically non-refundable
  • payment_status remains paid (if prepaid)

Rejection Scenario

Conditions:

  • Restaurant explicitly rejects reservation request
  • Insufficient capacity/time slots
  • Special requirements cannot be met
  • payment_status → refunded (if any payment was made)

Expired Scenario

Conditions:

  • Reservation remained in pending beyond allowed time
  • No restaurant confirmation received
  • Payment not completed within deadline
  • Auto-expired by scheduled job
Scenarioactiveackis_temporaryfor_locking_systemarrivedno_showDescriptionExample
New Booking (Pending Arrival)truefalsefalsefalsefalsefalseAwaiting restaurant confirmation
Temporary HoldtruefalsetruefalsefalsefalseUser in checkout, slot locked
System LocktruetruefalsetruefalsefalseAdmin-blocked slot
Pending ConfirmationtruefalsefalsefalsefalsefalseWaiting for restaurant confirmation
Customer ArrivedtruetruefalsefalsetruefalseCustomer checked in
CompletedtruetruefalsefalsetruefalseMeal finished (requires additional status)
No-ShowtruetruefalsefalsefalsetrueCustomer didn’t show up
CancelledfalseanyfalsefalsefalsefalseReservation cancelled
RejectedfalsefalsefalsefalsefalsefalseRestaurant rejected booking
Unpaid`truetruetruefalsefalsefalseWaiting for customer to pay
Payment ExpiredfalsetruetruefalsefalsefalseCustomer failed to pay