Bookings
Cancel bookings
Cancels one or more bookings, or specific participants within them, optionally recording a refund amount.
POST
/
v1
/
bookings
/
cancel
Cancel bookings
curl --request POST \
--url https://api.letsway.com/v1/bookings/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"bookings": [
{
"bookingId": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"cancel": true
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({bookings: [{bookingId: '019f5ca1-4dc1-775d-a40d-833f44bfccf4', cancel: true}]})
};
fetch('https://api.letsway.com/v1/bookings/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsway.com/v1/bookings/cancel"
payload = { "bookings": [
{
"bookingId": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"cancel": True
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"items": [
{
"id": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"confirmationCode": "U7dSqlzCA",
"cartId": "1ccd47b4-8784-43a0-86a5-fc733265f3c4",
"cartConfirmationCode": "55xNJqU3Q",
"amount": 100,
"currency": "USD",
"amountRefunded": 0,
"status": "cancelled",
"purchaser": {
"id": "019f5ca1-5432-751e-8663-7b999f0f7ede",
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100"
},
"participants": [
{
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": null,
"phoneNumber": null,
"priceTierName": "Participant",
"cancelledAt": "2026-07-13T17:59:57.430Z"
}
],
"paymentMethod": "cash",
"createdAt": "2026-07-13T17:58:23.757Z",
"notes": null,
"internalNotes": null,
"event": {
"timezone": "America/Chicago",
"startDateTime": "2026-07-14T10:00:00"
},
"experience": {
"id": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"title": "Sunset Sailing Tour"
}
}
]
}{
"items": [
{
"id": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"confirmationCode": "U7dSqlzCA",
"cartId": "1ccd47b4-8784-43a0-86a5-fc733265f3c4",
"cartConfirmationCode": "55xNJqU3Q",
"amount": 100,
"currency": "USD",
"amountRefunded": 25,
"status": "cancelled",
"purchaser": {
"id": "019f5ca1-5432-751e-8663-7b999f0f7ede",
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionAnswers": [
{
"id": "7d1f4a2e-3b6c-4c8d-9e0f-1a2b3c4d5e6f",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"question": {
"customQuestionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"prompt": "Do you have any dietary restrictions?",
"fieldType": "single_select",
"options": [
{
"key": "f0e1d2c3-b4a5-4968-8776-655443322110",
"value": "Vegetarian"
}
],
"termsAndConditions": {
"label": "I agree to the spa terms and conditions",
"mediaId": "8c7b6a5d-4e3f-4210-9876-543210fedcba",
"isOverrided": true,
"mediaUrl": "https://cdn.letsway.com/media/spa-terms-and-conditions.pdf"
},
"config": {
"experienceId": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"experienceQuestionId": "5a4b3c2d-1e0f-4987-a654-321098765432",
"isRequired": true,
"isActive": true,
"order": 1,
"scope": "purchaser",
"conditions": [
{
"rule": "value_matches",
"conditionKey": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"conditionValue": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"conditionsMatchType": "any"
}
}
}
]
},
"participants": [
{
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"firstName": "Alice",
"lastName": "Rivera",
"priceTierName": "Adult",
"cancelledAt": "2026-07-13T17:59:57.430Z",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionAnswers": [
{
"id": "7d1f4a2e-3b6c-4c8d-9e0f-1a2b3c4d5e6f",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"question": {
"customQuestionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"prompt": "Do you have any dietary restrictions?",
"fieldType": "single_select",
"options": [
{
"key": "f0e1d2c3-b4a5-4968-8776-655443322110",
"value": "Vegetarian"
}
],
"termsAndConditions": {
"label": "I agree to the spa terms and conditions",
"mediaId": "8c7b6a5d-4e3f-4210-9876-543210fedcba",
"isOverrided": true,
"mediaUrl": "https://cdn.letsway.com/media/spa-terms-and-conditions.pdf"
},
"config": {
"experienceId": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"experienceQuestionId": "5a4b3c2d-1e0f-4987-a654-321098765432",
"isRequired": true,
"isActive": true,
"order": 1,
"scope": "participant",
"conditions": [
{
"rule": "value_matches",
"conditionKey": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"conditionValue": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"conditionsMatchType": "any"
}
}
}
]
}
],
"paymentMethod": "credit-card",
"createdAt": "2026-07-13T17:58:23.757Z",
"notes": "Guest requested a window table.",
"internalNotes": "VIP guest - comp welcome drink.",
"event": {
"timezone": "America/Chicago",
"startDateTime": "2026-07-14T10:00:00"
},
"experience": {
"id": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"title": "Sunset Kayak Tour"
}
}
]
}Authorizations
Brand-API-KeyOrganization-API-Key
Your brand's secret API key, e.g. Bearer way_sk_live_bhEqcn0i1fRoUEHBPjJkQA. Older Way-Brand-Id + Way-Secret-Key credentials still work: see Legacy authentication.
Body
application/json
Bookings to cancel or refund. Each item is processed independently.
Show child attributes
Show child attributes
Response
Success.
Was this page helpful?
⌘I
Cancel bookings
curl --request POST \
--url https://api.letsway.com/v1/bookings/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"bookings": [
{
"bookingId": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"cancel": true
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({bookings: [{bookingId: '019f5ca1-4dc1-775d-a40d-833f44bfccf4', cancel: true}]})
};
fetch('https://api.letsway.com/v1/bookings/cancel', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsway.com/v1/bookings/cancel"
payload = { "bookings": [
{
"bookingId": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"cancel": True
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"items": [
{
"id": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"confirmationCode": "U7dSqlzCA",
"cartId": "1ccd47b4-8784-43a0-86a5-fc733265f3c4",
"cartConfirmationCode": "55xNJqU3Q",
"amount": 100,
"currency": "USD",
"amountRefunded": 0,
"status": "cancelled",
"purchaser": {
"id": "019f5ca1-5432-751e-8663-7b999f0f7ede",
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100"
},
"participants": [
{
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": null,
"phoneNumber": null,
"priceTierName": "Participant",
"cancelledAt": "2026-07-13T17:59:57.430Z"
}
],
"paymentMethod": "cash",
"createdAt": "2026-07-13T17:58:23.757Z",
"notes": null,
"internalNotes": null,
"event": {
"timezone": "America/Chicago",
"startDateTime": "2026-07-14T10:00:00"
},
"experience": {
"id": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"title": "Sunset Sailing Tour"
}
}
]
}{
"items": [
{
"id": "019f5ca1-4dc1-775d-a40d-833f44bfccf4",
"confirmationCode": "U7dSqlzCA",
"cartId": "1ccd47b4-8784-43a0-86a5-fc733265f3c4",
"cartConfirmationCode": "55xNJqU3Q",
"amount": 100,
"currency": "USD",
"amountRefunded": 25,
"status": "cancelled",
"purchaser": {
"id": "019f5ca1-5432-751e-8663-7b999f0f7ede",
"firstName": "Alice",
"lastName": "Rivera",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionAnswers": [
{
"id": "7d1f4a2e-3b6c-4c8d-9e0f-1a2b3c4d5e6f",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"question": {
"customQuestionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"prompt": "Do you have any dietary restrictions?",
"fieldType": "single_select",
"options": [
{
"key": "f0e1d2c3-b4a5-4968-8776-655443322110",
"value": "Vegetarian"
}
],
"termsAndConditions": {
"label": "I agree to the spa terms and conditions",
"mediaId": "8c7b6a5d-4e3f-4210-9876-543210fedcba",
"isOverrided": true,
"mediaUrl": "https://cdn.letsway.com/media/spa-terms-and-conditions.pdf"
},
"config": {
"experienceId": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"experienceQuestionId": "5a4b3c2d-1e0f-4987-a654-321098765432",
"isRequired": true,
"isActive": true,
"order": 1,
"scope": "purchaser",
"conditions": [
{
"rule": "value_matches",
"conditionKey": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"conditionValue": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"conditionsMatchType": "any"
}
}
}
]
},
"participants": [
{
"id": "019f5ca1-5432-751e-8663-7c22693a6e7e",
"firstName": "Alice",
"lastName": "Rivera",
"priceTierName": "Adult",
"cancelledAt": "2026-07-13T17:59:57.430Z",
"emailAddress": "alice@example.com",
"phoneNumber": "+15550100",
"customQuestionAnswers": [
{
"id": "7d1f4a2e-3b6c-4c8d-9e0f-1a2b3c4d5e6f",
"answer": [
{
"value": "<string>",
"key": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"question": {
"customQuestionId": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"prompt": "Do you have any dietary restrictions?",
"fieldType": "single_select",
"options": [
{
"key": "f0e1d2c3-b4a5-4968-8776-655443322110",
"value": "Vegetarian"
}
],
"termsAndConditions": {
"label": "I agree to the spa terms and conditions",
"mediaId": "8c7b6a5d-4e3f-4210-9876-543210fedcba",
"isOverrided": true,
"mediaUrl": "https://cdn.letsway.com/media/spa-terms-and-conditions.pdf"
},
"config": {
"experienceId": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"experienceQuestionId": "5a4b3c2d-1e0f-4987-a654-321098765432",
"isRequired": true,
"isActive": true,
"order": 1,
"scope": "participant",
"conditions": [
{
"rule": "value_matches",
"conditionKey": "b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"conditionValue": "f0e1d2c3-b4a5-4968-8776-655443322110"
}
],
"conditionsMatchType": "any"
}
}
}
]
}
],
"paymentMethod": "credit-card",
"createdAt": "2026-07-13T17:58:23.757Z",
"notes": "Guest requested a window table.",
"internalNotes": "VIP guest - comp welcome drink.",
"event": {
"timezone": "America/Chicago",
"startDateTime": "2026-07-14T10:00:00"
},
"experience": {
"id": "c99f70ee-1c0e-4534-a31a-96d5d966cc4b",
"title": "Sunset Kayak Tour"
}
}
]
}