Waivers
Adds waiver templates and waiver submission fields to booking flows.
To use this capability, add octo/waivers to your Octo-Capabilities header.
This capability adds waiver definitions to products and adds waiver submission/status fields to booking write and booking response objects.
Routes
Product waiver fields are returned on:
GET /productsGET /products/{productId}
Booking waiver write fields are accepted on:
POST /bookingsPATCH /bookings/{uuid}
Waiver status fields are returned on booking objects and booking unit-item objects in booking responses.
Behaviour
product.waiverPerdetermines where waiver inputs must be submitted.When
waiverPerisBOOKING, submit waiver fields on the top-level booking request body.When
waiverPerisUNIT, submit waiver fields on eachunitItems[]object.waiver.contentis markdown and can include field tags such as-First Name-=__or-Email-=__("type":"email").Every field parsed from
waiver.contentis returned inwaiver.fields[].You can render those fields inline in the waiver form content, or render them separately using
waiver.fields[].inputType: "signature"should be rendered as a signature box.inputType: "country"should be rendered as a country dropdown.For
country, submit the selected value as an ISO 3166-1 alpha-2 code (for exampleGB,US).Standard waiver submission requires
waiverIdandwaiverFieldValues.waiverFileis optional and can be sent at booking level or unit-item level. Use a PDF data URI (data:application/pdf;base64,...) if you want to save a rendered waiver copy.If
waiverIdis sent at the wrong level, the API returnsWAIVER_ON_BOOKING_ONLYorWAIVER_ON_TICKET_ONLY.waiverIdmust match one ofproduct.waivers[]; otherwise the API returnsINVALID_WAIVER_ID.waiverFieldValuesmust be an array and each record must includefieldId.waiversCompleteindicates whether waiver requirements are complete for the booking/unit item.
Schema Additions (JSON)
These are additive fragments showing only fields introduced by this capability.
Product
ProductBookingWriteRequest
BookingWriteRequestBookingWriteRequest (Offline/In-Person)
BookingWriteRequest (Offline/In-Person)BookingUnitItemWriteRequest
BookingUnitItemWriteRequestBooking
BookingBookingUnitItem
BookingUnitItemLast updated