Take a phone booking
Book a guest by phone, at the door, or for a reseller.
You need canManageBookings. The dashboard has no booking form, so use createChannelBooking.
mutation PhoneBooking($input: ChannelBookingInput!) {
createChannelBooking(input: $input, idempotencyKey: "phone-1")
}Example input:
{
"departureId": "…",
"source": "phone",
"paymentMethod": "cash",
"tickets": [{ "id": "…", "qty": 2 }],
"addOns": [],
"lead": { "name": "Avery Collins", "email": "avery@example.com", "phone": "843-555-0100" },
"participants": [
{ "ticketTypeId": "…", "fullName": "Avery Collins", "age": 34 },
{ "ticketTypeId": "…", "fullName": "Sam Collins", "age": 36 }
]
}sourceisphone,walk_up, orreseller. A reseller booking also needschannelId.- Give one participant for every ticket.
- The booking is confirmed straight away. The seats are checked and held under the departure lock.
- For
phoneandwalk_upa payment record is created for the total. The payment is recorded as taken by staff. Nothing is charged by the server. If you setpaymentMethodto anything other thancash, it is stored as a card payment with no provider reference. - For a reseller on a
channel_collectschannel, no payment record is created.
Give the guest the booking code. They can look it up on the storefront with the code and email.