Skip to main content

Activity booking canceled

Sent when a booking is canceled, whether or not the attendance had been validated. One delivery per booking, so a mass cancellation (deleting a schedule or an activity) produces one delivery per affected booking.

activity_booking.canceled

See How webhooks work for the envelope, delivery semantics and retries.

Payload​

The data object for this event.

canceledFromstring · nullable

Platform the cancellation came from (enum name, same values as `origin`). Only sent in `activity_booking.canceled`.

dateAttendedstring · date-time · nullable

Date the attendance was validated (UTC). Always present in `activity_booking.validated`. In `activity_booking.canceled` a value means the attendance had already been notified and the consumer should revert whatever it granted; `null` means the booking was canceled without ever having been validated.

dateCanceledstring · date-time · nullable

Date the booking was canceled (UTC). Only sent in `activity_booking.canceled`.

dateCreationstring · date-timerequired

Date the booking was created (UTC).

hadBookingbooleanrequired

`false` when the member had no previous booking and it was created and validated in the same operation (walk-in); `true` when an existing booking was validated.

idintegerrequired

Booking id. Same id used by the validation endpoints of the public API.

memberobjectrequired

Member the booking belongs to.

objectstring

Object type discriminator.

originstringrequired

Platform the booking was created from (enum name).

originValidatedstring · nullable

Platform the attendance was validated from (enum name, same values as `origin`). Null when the booking was never validated.

reasonstring · nullable

Cancellation reason, when the originating flow provides one. Only sent in `activity_booking.canceled`, and omitted when there is no reason.

scheduleobjectrequired

Activity schedule the booking belongs to.

Example payload

{
"center": {
"id": 1234,
"name": "Portales",
"publicToken": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"data": {
"canceledFrom": "tgManager",
"dateAttended": "2026-07-30T10:15:30Z",
"dateCanceled": "2026-07-30T18:42:11Z",
"dateCreation": "2026-07-28T18:04:11Z",
"hadBooking": true,
"id": 8471203,
"member": {
"address": "Calle Mayor 1",
"countryCode": "ES",
"cp": "50001",
"documentNumber": "12345678A",
"email": "marta.ruiz@example.com",
"id": "ZpQ1x7",
"lastName": "Ruiz Alonso",
"name": "Marta",
"object": "member"
},
"object": "activity_booking",
"origin": "android",
"originValidated": "totem",
"reason": "Horario eliminado",
"schedule": {
"activity": {
"id": "Qm4Xy8",
"name": "Body Pump",
"object": "activity"
},
"assistant": 12,
"bookingSetting": {
"bookedPlaces": 14,
"idScheduleRoomMap": null,
"isNumbered": false,
"isPayment": false,
"isReservable": true,
"maxBookingPlacesApp": 20,
"numberSeatByRow": 0
},
"capacity": 20,
"currentState": 1,
"dateProgram": "2026-07-30T00:00:00Z",
"duration": 60,
"id": 552310,
"idActivity": "Qm4Xy8",
"idRoom": "Lp9Rt3",
"idSchedule": 552310,
"idScheduleGroup": 4412,
"idStaff": "Tz6Wq1",
"isVisible": true,
"object": "activity_schedule",
"room": {
"id": "Lp9Rt3",
"name": "Sala 2",
"object": "room"
},
"staff": {
"id": "Tz6Wq1",
"object": "staff"
},
"targetAssistant": 15,
"timeEnd": "11:00:00",
"timeStart": "10:00:00"
}
},
"dateCreated": "2026-07-30T18:42:13Z",
"eventType": "activity_booking.canceled",
"idEvent": "7c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f"
}

Responses​

Accepted / processed.