Skip to content

Booking Detail

GraphQL counterpart of GET /api/admin/bookings/{id}. Returns a single booking with everything the listing leaves out — the booking sub-type, the linked event-ticket id, embedded summaries of the parent order and order line item, and the underlying order's billing/shipping address, payment & shipping info, and its invoices / shipments / refunds — so you can render the booking view (and the order it opens) without any follow-up fetch.

Operation

OperationType
adminBooking(id: ID!)Query

Pass the booking IRI (/api/admin/bookings/{id}) as id. Permission: sales.bookings.view.

order, orderItem, billingAddress, shippingAddress, invoices, shipments and refunds are returned whole

order, orderItem, billingAddress, shippingAddress, invoices, shipments and refunds are returned as whole JSON objects/arrays — query them bare, without a sub-selection (billingAddress, not billingAddress { … }; invoices, not invoices { edges { node { … } } }). The complete object/array comes back. The keys inside each are listed below for reference.

Fields

The booking window is exposed two ways: from / to are raw unix timestamps (integers), and fromFormatted / toFormatted are the same instants pre-rendered as human-readable d M, Y H:iA strings (e.g. "20 May, 2026 12:00PM"). For booking sub-types with no time window all four can be null.

FieldTypeDescription
idIDResource identifier (IRI form).
_idIntNumeric booking id.
orderIdIntId of the parent order.
orderIncrementIdStringHuman-facing number of the parent order.
orderItemIdIntId of the order line item this booking was created from.
productIdIntId of the booked product.
productSkuStringSKU of the booked product.
productNameStringProduct name as ordered.
bookingTypeStringBooking sub-type — one of default, appointment, event, rental, table.
qtyIntQuantity booked on this line.
fromIntStart of the booking window as a unix timestamp (null for non-time-based bookings).
toIntEnd of the booking window as a unix timestamp (null for non-time-based bookings).
fromFormattedStringfrom pre-rendered as a d M, Y H:iA string.
toFormattedStringto pre-rendered as a d M, Y H:iA string.
bookingProductEventTicketIdIntLinked event-ticket id (set only when bookingType is event).
createdAtStringWhen the parent order was created.
orderObjectSummary of the parent order — see the table below.
orderItemObjectSummary of the parent order line item — see the table below.
paymentMethodStringThe order's payment method code (e.g. moneytransfer).
paymentTitleStringThe payment method's display title.
shippingMethodStringThe order's shipping method code — null when the order had no shipping method.
shippingTitleStringThe shipping method's display title — null when there was no shipping method.
billingAddressJSONThe order's billing address object, or null — see below.
shippingAddressJSONThe order's shipping address object, or null — see below.
invoicesJSONArray of the order's invoice summaries — empty when none. See below.
shipmentsJSONArray of the order's shipment summaries — empty when none. See below.
refundsJSONArray of the order's refund summaries — empty when none. See below.

Order fields (order)

A slim summary of the order this booking belongs to, so you can render the booking view without a separate order fetch. order is returned as a whole JSON object — query it as a bare field (order), you cannot sub-select its keys in the query. The keys below are returned inside that object for reference.

FieldTypeDescription
idIntOrder id.
incrementIdStringHuman-facing order number.
statusStringOrder status — e.g. complete, processing, pending.
customerNameStringName of the customer who placed the order.
customerEmailStringEmail of the customer who placed the order.
grandTotalFloatOrder grand total (order currency).
orderCurrencyCodeStringCurrency the order was placed in (e.g. USD).

Order item fields (orderItem)

A slim summary of the order line item this booking was created from. orderItem is returned as a whole JSON object — query it as a bare field (orderItem), you cannot sub-select its keys in the query. The keys below are returned inside that object for reference.

FieldTypeDescription
idIntOrder-item id.
skuStringSKU of the ordered item.
nameStringProduct name as ordered.
qtyOrderedFloatQuantity ordered for this line item.

Address objects (billingAddress, shippingAddress)

The order's billing and shipping addresses, mirroring the admin order view's address panel. Each is returned as a whole JSON object (or null when the order has none) — query it as a bare field (billingAddress), you cannot sub-select its keys in the query. The keys below are returned inside each object.

FieldTypeDescription
idIntAddress row id.
addressTypeStringorder_billing or order_shipping.
firstName / lastNameStringRecipient name.
companyNameStringCompany name — may be null.
addressStringStreet address (may span multiple lines).
cityStringCity.
stateStringState / province.
countryStringCountry code (e.g. US).
postcodeStringPostal code.
emailStringContact email.
phoneStringContact phone.

Invoices (invoices)

Slim summaries of the order's invoices, returned as a whole JSON array (empty when none) — query it as a bare field (invoices), you cannot sub-select its keys in the query. Each entry has the keys below.

FieldTypeDescription
idIntInvoice id.
incrementIdStringHuman-facing invoice number.
stateStringInvoice state — e.g. paid, pending.
baseGrandTotalFloatInvoice grand total in the store's base currency.
formattedBaseGrandTotalStringThe same total pre-formatted for display.
createdAtStringWhen the invoice was created.

Shipments (shipments)

Slim summaries of the order's shipments, returned as a whole JSON array (empty when none) — query it as a bare field (shipments), you cannot sub-select its keys in the query. Each entry has the keys below.

FieldTypeDescription
idIntShipment id.
totalQtyFloatTotal quantity shipped.
carrierTitleStringShipping carrier title — may be null.
trackNumberStringCarrier tracking number — may be null.
createdAtStringWhen the shipment was created.

Refunds (refunds)

Slim summaries of the order's refunds, returned as a whole JSON array (empty when none) — query it as a bare field (refunds), you cannot sub-select its keys in the query. Each entry has the keys below.

FieldTypeDescription
idIntRefund id.
stateStringRefund state.
baseGrandTotalFloatRefund grand total in the store's base currency.
formattedBaseGrandTotalStringThe same total pre-formatted for display.
createdAtStringWhen the refund was created.

Released under the MIT License.