Booking Update
Changed onUpdates a booking before and after it has been confirmed as long as it hasn''t been redeemed or within the cancellation cutoff window. To know if the booking can be updated check the booking''s cancellable field. If the booking can be cancelled, it can also be updated. It''s generally preferred to update a booking rather than cancelling it and rebooking
Request
- Base URL: http://localhost:8080/api/octo
- URL: http://localhost:8080/api/octo/bookings/{uuid}
- Auth: HTTP bearer
Path parameters
The UUID of the booking
Headers
A list of the Capabilities (their IDs) initialized with your request.
This optional request header allows to specify preferred languages for content in the response. A language code that specifies the language of the product content. This code must conform to the BCP 47 standard, following RFC 5646 and RFC 4647 specifications for language tags. Examples include en-US for American English, fr-FR for French (France), and es-ES for Spanish (Spain). This header supports a comma-separated list of language tags with optional quality values (q) to indicate priority, such as en-US, fr-CA;q=0.8, fr;q=0.7, which prioritizes U.S. English, followed by Canadian French, and general French. This header is defined in the HTTP/1.1 specification (RFC 7231) and is commonly used for internationalized websites and services to enhance user experience. For more details, visit MDN Web Docs: Accept-Language - HTTP | MDN. Note this only determines preference and does not guarantee location has content available in the desired language.
Request body
Example request
{
"resellerReference": "VOUCHER-0123",
"productId": "6b903d44-dc24-4ca4-ae71-6bde6c4f4854",
"optionId": "DEFAULT",
"availabilityId": "2022-05-23T00:00:00+01:00",
"expirationMinutes": 15,
"notes": "Optional notes",
"emailReceipt": true,
"unitItems": [
{
"uuid": "3b1bc2ee-3155-4738-9471-f49842a07327",
"unitId": "adult_697e3ce8-1860-4cbf-80ad-95857df1f640"
}
],
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "johndoe@email.com",
"phoneNumber": "+447840739436",
"locales": [
"en",
"en-GB",
"en-US"
],
"country": "GB"
}
}Response
The request has succeeded.
Example response
{
"id": "bbbb6227-54fc-4c32-9ed7-dc3eb99966ea",
"uuid": "559aed3d-6d5b-4fe0-bfca-99f5e7218a56",
"supplierReference": "XOPSUT",
"status": "CONFIRMED",
"utcCreatedAt": "2022-05-25T10:34:22Z",
"utcUpdatedAt": "2022-05-25T10:34:22Z",
"utcExpiresAt": "2022-05-25T11:04:22Z",
"utcRedeemedAt": "2022-06-25T10:34:22Z",
"utcConfirmedAt": "2022-05-25T11:00:22Z",
"productId": "6b903d44-dc24-4ca4-ae71-6bde6c4f4854",
"product": {
"id": "6b903d44-dc24-4ca4-ae71-6bde6c4f4854",
"internalName": "London Eye General Admission",
"reference": "LEYE-GA",
"locale": "en-GB",
"timeZone": "Europe/London",
"allowFreesale": true,
"instantConfirmation": true,
"instantDelivery": true,
"availabilityRequired": true,
"availabilityType": "START_TIME",
"deliveryFormats": [
"QRCODE"
],
"deliveryMethods": [
"TICKET"
],
"redemptionMethod": "DIGITAL",
"options": [
{
"id": "DEFAULT",
"default": true,
"internalName": "DEFAULT",
"reference": null,
"availabilityLocalStartTimes": [
"00:00"
],
"cancellationCutoff": "1 hour",
"cancellationCutoffAmount": 1,
"cancellationCutoffUnit": "hour",
"requiredContactFields": [
"firstName"
],
"restrictions": {
"minUnits": 0,
"maxUnits": 9
},
"units": [
{
"id": "adult_697e3ce8-1860-4cbf-80ad-95857df1f640",
"internalName": "Adult",
"reference": null,
"type": "ADULT",
"restrictions": {
"minAge": 18,
"maxAge": 99,
"idRequired": false,
"minQuantity": 1,
"maxQuantity": 10,
"paxCount": 1,
"accompaniedBy": []
},
"requiredContactFields": [
"firstName"
]
},
{
"id": "adult_697e3ce8-1860-4cbf-80ad-95857df1f640",
"internalName": "Child",
"reference": null,
"type": "CHILD",
"restrictions": {
"minAge": 3,
"maxAge": 12,
"idRequired": false,
"minQuantity": 1,
"maxQuantity": 10,
"paxCount": 1,
"accompaniedBy": []
},
"requiredContactFields": [
"firstName"
]
},
{
"id": "infant_897e3ce8-1860-4cbf-80ad-95857df1f640",
"internalName": "Infant",
"reference": null,
"type": "INFANT",
"restrictions": {
"minAge": 0,
"maxAge": 3,
"idRequired": false,
"minQuantity": 1,
"maxQuantity": 10,
"paxCount": 1,
"accompaniedBy": [
"adult_697e3ce8-1860-4cbf-80ad-95857df1f640"
]
},
"requiredContactFields": [
"firstName"
]
}
]
}
]
},
"optionId": "DEFAULT",
"option": {
"id": "DEFAULT",
"default": true,
"internalName": "DEFAULT",
"reference": null,
"availabilityLocalStartTimes": [
"00:00"
],
"cancellationCutoff": "1 hour",
"cancellationCutoffAmount": 1,
"cancellationCutoffUnit": "hour",
"requiredContactFields": [
"firstName"
],
"restrictions": {
"minUnits": 0,
"maxUnits": 9
},
"units": [
{
"id": "adult_697e3ce8-1860-4cbf-80ad-95857df1f640",
"internalName": "Adult",
"reference": null,
"type": "ADULT",
"restrictions": {
"minAge": 18,
"maxAge": 99,
"idRequired": false,
"minQuantity": 1,
"maxQuantity": 10,
"paxCount": 1,
"accompaniedBy": []
},
"requiredContactFields": [
"firstName"
]
},
{
"id": "adult_697e3ce8-1860-4cbf-80ad-95857df1f640",
"internalName": "Child",
"reference": null,
"type": "CHILD",
"restrictions": {
"minAge": 3,
"maxAge": 12,
"idRequired": false,
"minQuantity": 1,
"maxQuantity": 10,
"paxCount": 1,
"accompaniedBy": []
},
"requiredContactFields": [
"firstName"
]
},
{
"id": "infant_897e3ce8-1860-4cbf-80ad-95857df1f640",
"internalName": "Infant",
"reference": null,
"type": "INFANT",
"restrictions": {
"minAge": 0,
"maxAge": 3,
"idRequired": false,
"minQuantity": 1,
"maxQuantity": 10,
"paxCount": 1,
"accompaniedBy": [
"adult_697e3ce8-1860-4cbf-80ad-95857df1f640"
]
},
"requiredContactFields": [
"firstName"
]
}
],
"pricingFrom": [
{
"original": 2000,
"retail": 2000,
"net": 1600,
"currency": "EUR",
"currencyPrecision": 2,
"includedTaxes": []
}
]
},
"cancellable": true,
"cancellation": {
"refund": "FULL",
"reason": "this product sucks",
"utcCancelledAt": "2022-05-25T11:00:22Z"
},
"availability": {
"id": "2022-05-23T00:00:00+01:00",
"localDateTimeStart": "2022-05-23T00:00:00+01:00",
"localDateTimeEnd": "2022-05-24T00:00:00+01:00",
"utcCutoffAt": "2022-05-22T23:00:00Z",
"allDay": false,
"available": true,
"status": "AVAILABLE",
"vacancies": 10,
"capacity": 10,
"maxUnits": null,
"openingHours": [
{
"from": "08:00",
"to": "16:00"
}
]
},
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "johndoe@email.com",
"phoneNumber": "",
"locales": [
"en"
],
"postalCode": "",
"country": "",
"notes": ""
},
"notes": "Optional notes for the booking",
"deliveryMethods": [
"TICKET",
"VOUCHER"
],
"voucher": {
"redemptionMethod": "DIGITAL",
"utcRedeemedAt": "2021-10-27T23:28:43Z",
"deliveryOptions": [
{
"deliveryFormat": "QRCODE",
"deliveryValue": ""
}
]
},
"unitItems": [
{
"uuid": "3b1bc2ee-3155-4738-9471-f49842a07327",
"resellerReference": "4ec08a62-892c-48c1-a608-dc946531a33a",
"supplierReference": "K9T7R4",
"unitId": "adult_697e3ce8-1860-4cbf-80ad-95857df1f640",
"unit": {
"id": "adult_697e3ce8-1860-4cbf-80ad-95857df1f640",
"internalName": "Adult",
"reference": null,
"type": "ADULT",
"restrictions": {
"minAge": 18,
"maxAge": 99,
"idRequired": false,
"minQuantity": 1,
"maxQuantity": 10,
"paxCount": 1,
"accompaniedBy": []
},
"requiredContactFields": [
"firstName"
]
},
"status": "ON_HOLD",
"utcRedeemedAt": null,
"contact": {
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "johndoe@email.com",
"phoneNumber": "",
"locales": [
"en"
],
"postalCode": "",
"country": "",
"notes": ""
},
"ticket": null
}
],
"pricing": {
"original": 3995,
"retail": 3995,
"net": 2996,
"currency": "USD",
"currencyPrecision": 2,
"includedTaxes": [
{
"name": "VAT 10",
"retail": 700,
"original": 700,
"net": 400
}
]
}
}Changes
- info
the request property
/////became nullable - info
the request property
/////became nullable - info
the request property
/////became nullable - info
the request property
/////became nullable - info
the request property
/////became nullable - info
the request property
/////became nullable - info
the request property
/////became nullable - info
the request property
///became nullable - info
the request property
///became nullable - info
the request property
///became nullable - info
the request property
///became nullable - info
the request property
///became nullable - info
the request property
///became nullable - info
the request property
///became nullable
- info
- info
the request property
/////became nullable - info
the request property
became nullable - info
the request property
///became nullable
- info