Skip to content

Life of an order and a reservation

Orders

An order starts as a hold while the guest is in checkout. The sync route only returns orders that reached SUCCESS.

stateDiagram-v2
    direction LR
    [*] --> PENDING: Guest starts checkout, tickets are held
    PENDING --> SUCCESS: Paid
    PENDING --> FAILED: Hold ended or checkout canceled
    [*] --> SUCCESS: Comp or free ticket

A PENDING order that is more than a day old is a checkout the guest left, not a sale.

An order stays SUCCESS after a refund. Look at refundType on each ticket, and at the refund routes, to see what came back.

Reservations

reservationStatus is a text field that staff change in the Web Manager and the door apps, so a reservation does not have to follow one path. This is the usual one.

stateDiagram-v2
    direction TB
    [*] --> REQUESTED: Request
    [*] --> BOOKED: Staff or online
    REQUESTED --> BOOKED: Accepted
    REQUESTED --> PENDING_PAYMENT: Payment needed
    REQUESTED --> EXPIRED: No answer
    PENDING_PAYMENT --> CANCELED: Not paid
    PENDING_PAYMENT --> CONFIRMED: Paid
    BOOKED --> CONFIRMED: Guest confirms
    BOOKED --> ARRIVED
    CONFIRMED --> ARRIVED
    ARRIVED --> SEATED
    SEATED --> PAID
    PAID --> LEFT
    LEFT --> [*]

All the values you can see:

reservationStatus Meaning
REQUESTED A guest's request. See the warning below.
HOLD Held by staff
PENDING_PAYMENT Accepted, waiting for payment
BOOKED Booked
CONFIRMED The guest confirmed, or paid what the venue asked for
ARRIVED The guest arrived
PARTIALLY_SEATED, SEATED Some or all of the party is at the table
PAID The check is paid
LEFT The party left
NO_SHOW The party did not come
CANCELED, CANCELED_AND_NOTIFY Canceled. With CANCELED_AND_NOTIFY, staff chose to tell the guest.
EXPIRED A request nobody answered in time

The field is free text in our database, so treat a value you do not know as "other" and do not fail on it.

A declined request can still say REQUESTED

When a venue declines a request, reservationStatus stays REQUESTED. The routes do not return the request's own status today, so REQUESTED does not prove a request is still open.

paymentStatus on a reservation only follows paylinks. A table paid online has its payment in tableBooking.paymentStatus.

paymentStatus on a paylink:

Value Meaning
PENDING_APPROVAL Waiting for the venue to approve it
REJECTED The venue said no
PENDING Sent, waiting for the guest
SUCCESS Paid
EXPIRED The time to pay ran out
DEACTIVATED Staff turned it off

Refunds

refundStatus is the same on all three refund routes.

stateDiagram-v2
    direction LR
    [*] --> REQUESTED: Staff start a refund
    REQUESTED --> INPROGRESS: Sent to the payment processor
    REQUESTED --> FAILED: The processor refused it
    INPROGRESS --> SUCCESS: The processor confirmed it

Disputes

status on the dispute routes comes from the card networks through our payment processor.

Value Meaning
WARNING_NEEDS_RESPONSE, WARNING_UNDER_REVIEW, WARNING_CLOSED An early warning from the bank, not yet a full dispute
NEEDS_RESPONSE The venue can send evidence
UNDER_REVIEW The bank is looking at the evidence
CHARGE_REFUNDED The charge was refunded
WON Decided for the venue
LOST Decided for the guest