Endpoints
POST /api/v1/ui/admin/checkout-formPOST /api/v1/ui/admin/checkout-form/applyPOST /api/v1/ui/admin/customer-formPOST /api/v1/ui/admin/address-formPOST /api/v1/ui/admin/order-formPOST /api/v1/ui/admin/booking-form
Authorization: Bearer {token}?o={organization_id}
Recommended Order Completion Flow
- Build a checkout form from booking context.
- Render returned components and collect user input.
- Apply form data to booking config.
- Send enriched payload to
POST /api/v1/orders/from-config.
1
Build checkout form
components, validations, default, and submitAction.The booking_config supports mixed product orders: besides bookings it accepts standalone add_ons ([{ "add_on_id": 1, "quantity": 2 }]) and booking_passes purchased from bundles ([{ "booking_bundle_id": 12, "quantity": 1 }]). At least one of the three product arrays must be present — bookings may be omitted for bundle/add-on-only orders:2
Apply submitted form data
add_ons and booking_passes are passed through unchanged, so the result can be sent directly to POST /api/v1/orders/from-config for mixed product orders too.3
Complete order
Use the enriched payload from step 2 as request body for:See the public admin guide for full order payload options and error handling.
Standalone Form Endpoints
Use these endpoints when editing existing entities outside the full checkout-form flow.Customer Form
customer_idis optional.address_idis optional and can be used to prefill address values directly.include_address_formis optional (trueby default). Set tofalseto return customer fields without embedding address fields.- Returns customer fields and (by default) address fields with defaults if customer/address exists.
customer.*for customer resource attributes such asgiven_name,family_name,email,mobile,phone,company,sex, andbirth_dateaddress.*for address resource attributes such asstreet_address,zip_code,city, andcountry_codecustom_entry_map.{field_uuid}.valuefor customer custom fields in the same shape accepted byPATCH /api/v1/customers/{customer_id}
- Send
customer.*as customer attributes toPOSTorPATCH /api/v1/customers. - Forward
custom_entry_map.*directly as the customer resource’scustom_entry_mapattribute. - Persist
address.*through the separateaddressesresource, linked to the customer viarelationships.addressable.
PATCH /api/v1/customers/{customer_id}with attributes built fromcustomer.*pluscustom_entry_mapPATCH /api/v1/addresses/{address_id}if the customer already has an address- Or
POST /api/v1/addresseswithrelationships.addressable = customers/{customer_id}if the customer has no address yet
Address Form
customer_idis optional.address_idis optional and takes precedence for prefilling overcustomer_id.- Returns address-only components prefilled from the selected address (or from the customer’s latest address if only
customer_idis provided). - Address field keys use
address.*. - Persist the submitted values through the
addressesresource, linked viarelationships.addressablewhen creating a new customer address.
Order Form
order_idis required.- Returns order-level custom field components prefilled from the order.
- Custom field inputs use
custom_entry_map.{field_uuid}.value, so they can be forwarded directly into the order resource’scustom_entry_mapattribute on update.
Booking Form
booking_idis required.- Returns booking-level custom field components prefilled from the booking.
- Custom field inputs use
custom_entry_map.{field_uuid}.value. - Persist submitted values with
POST /api/v1/ui/admin/booking-form/apply(booking_id+form_data). The apply action writes filled entries, deletes cleared (""/null) entries, and returns the booking plus a rebuiltmeta.form_default. - You can also forward
custom_entry_mapdirectly into the booking resource onPATCH /api/v1/bookings/{booking_id}. - Use this during Admin Booking Edit when changing booking-specific metadata, or during order completion before creating or updating an order.
Error Handling Notes
422for validation issues (missing required fields, malformed payload).404whencustomer_id,order_id, orbooking_iddoes not belong to the active organization.401or403when auth or permissions are missing.