> ## Documentation Index
> Fetch the complete documentation index at: https://docs.way.co/llms.txt
> Use this file to discover all available pages before exploring further.

# booking.modified

> Fires when an existing booking is changed, such as when participants or add-ons are added.

## When it fires

Way sends `booking.modified` when an existing booking is changed after it was completed - for example, when participants or add-ons are added to the booking. It is also sent when a reschedule results in an additional charge; in that case a `booking.rescheduled` event is sent as well.

Events arrive at your endpoint as a `POST` request with the body `{ "event": "booking.modified", "payload": { ... } }`. When a webhook secret is set, the `X-Way-Signature` header carries an HMAC of the request body - see [Verify signatures](/webhooks/verify-signatures).

## Payload

| Field                                | Type                  | Description                                                                                                                        |
| ------------------------------------ | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `brand.id`                           | string (UUID)         | Unique identifier of the brand.                                                                                                    |
| `brand.name`                         | string                | Display name of the brand.                                                                                                         |
| `brand.tier`                         | string                | Subscription tier of the brand.                                                                                                    |
| `brand.countryCode`                  | string                | Country code of the brand.                                                                                                         |
| `brand.currency`                     | string                | Currency code used by the brand.                                                                                                   |
| `brand.externalReferenceId`          | string \| null        | External reference identifier configured for the brand.                                                                            |
| `addOns`                             | array                 | Add-ons on the booking after the modification.                                                                                     |
| `addOns[].id`                        | string (UUID)         | Unique identifier of the add-on item.                                                                                              |
| `addOns[].label`                     | string                | Display label of the add-on.                                                                                                       |
| `addOns[].price`                     | number                | Unit price of the add-on.                                                                                                          |
| `addOns[].paidAmount`                | number                | Amount paid for the add-on.                                                                                                        |
| `addOns[].taxes[].id`                | string (UUID)         | Unique identifier of the applied tax entry.                                                                                        |
| `addOns[].taxes[].included`          | boolean               | Whether the tax is included in the price.                                                                                          |
| `addOns[].taxes[].paidAmount`        | number                | Tax amount paid.                                                                                                                   |
| `addOns[].taxes[].tax.id`            | string (UUID)         | Unique identifier of the tax.                                                                                                      |
| `addOns[].taxes[].tax.name`          | string                | Name of the tax.                                                                                                                   |
| `bookingId`                          | string (UUID)         | Unique identifier of the booking.                                                                                                  |
| `bookingConfirmationCode`            | string                | Human-readable confirmation code of the booking.                                                                                   |
| `cartId`                             | string (UUID) \| null | Identifier of the cart the booking was purchased in, if any.                                                                       |
| `cartConfirmationCode`               | string \| null        | Confirmation code of the cart, if any.                                                                                             |
| `experience.id`                      | string (UUID)         | Unique identifier of the experience.                                                                                               |
| `experience.title`                   | string                | Title of the experience.                                                                                                           |
| `experience.startDateTime`           | string                | Local start date and time of the booked session.                                                                                   |
| `experience.duration.duration`       | string                | Session duration in ISO 8601 format (for example, `PT2H`).                                                                         |
| `experience.location.id`             | string (UUID)         | Unique identifier of the location.                                                                                                 |
| `experience.location.name`           | string                | Display name of the location.                                                                                                      |
| `experience.location.additionalInfo` | string \| null        | Extra directions or meeting instructions.                                                                                          |
| `experience.location.city`           | string \| null        | City of the location.                                                                                                              |
| `experience.location.state`          | string \| null        | State of the location.                                                                                                             |
| `experience.location.country`        | string \| null        | Country of the location.                                                                                                           |
| `experience.location.latitude`       | number                | Latitude of the location.                                                                                                          |
| `experience.location.longitude`      | number                | Longitude of the location.                                                                                                         |
| `experience.location.timezoneId`     | string                | IANA time zone of the location.                                                                                                    |
| `participantsCount`                  | number                | Total number of participants after the modification.                                                                               |
| `participants[].id`                  | string                | Unique identifier of the participant.                                                                                              |
| `participants[].firstName`           | string                | First name of the participant.                                                                                                     |
| `participants[].lastName`            | string                | Last name of the participant.                                                                                                      |
| `participants[].priceTierName`       | string                | Name of the price tier the participant booked.                                                                                     |
| `participants[].priceTierId`         | string                | Identifier of the price tier the participant booked.                                                                               |
| `participants[].emailAddress`        | string \| null        | Email address of the participant.                                                                                                  |
| `participants[].phoneNumber`         | string \| null        | Phone number of the participant.                                                                                                   |
| `participants[].answerIds`           | string\[]             | Identifiers of the participant's custom question answers, when present.                                                            |
| `participants[].bookingHistoryId`    | string \| null        | Identifier of the booking history entry that added the participant.                                                                |
| `priceTiers[].id`                    | string                | Unique identifier of the price tier.                                                                                               |
| `priceTiers[].name`                  | string                | Name of the price tier.                                                                                                            |
| `priceTiers[].price`                 | number                | Unit price of the tier.                                                                                                            |
| `priceTiers[].amount`                | number                | Total amount for the tier on this booking.                                                                                         |
| `priceTiers[].participantsCount`     | number                | Number of participants booked on the tier.                                                                                         |
| `purchaser.fullName`                 | string                | Full name of the purchaser.                                                                                                        |
| `purchaser.firstName`                | string                | First name of the purchaser.                                                                                                       |
| `purchaser.lastName`                 | string                | Last name of the purchaser.                                                                                                        |
| `purchaser.emailAddress`             | string                | Email address of the purchaser.                                                                                                    |
| `purchaser.phoneNumber`              | string \| null        | Phone number of the purchaser.                                                                                                     |
| `metadata`                           | object \| null        | Custom metadata attached to the booking at checkout.                                                                               |
| `loyaltyMemberId`                    | string \| null        | Loyalty member identifier of the purchaser, if any.                                                                                |
| `externalAnalyticsUserId`            | string \| null        | External analytics user identifier, if any.                                                                                        |
| `paymentMethod`                      | string                | Payment method used: `credit-card`, `room-charge`, `member-number`, `loyalty`, `kicc`, `cash`, `pay-later`, or `pay-upon-arrival`. |
| `mode`                               | string                | Booking mode: `private` or `shared`.                                                                                               |
| `amount`                             | number                | Amount charged for the modification.                                                                                               |
| `modifiedAt`                         | string (ISO 8601)     | Timestamp when the booking was modified.                                                                                           |
| `loyaltyTransactionId`               | string \| null        | Identifier of the associated loyalty transaction, if any.                                                                          |

## Sample

<Note>Illustrative payload derived from the event schema.</Note>

```json theme={null}
{
  "event": "booking.modified",
  "payload": {
    "mode": "shared",
    "brand": {
      "id": "8e12bfdc-a74c-48e2-8a76-2996a359c10c",
      "name": "The Seaside Hotel",
      "tier": "growth",
      "currency": "USD",
      "countryCode": "US",
      "externalReferenceId": "ABC"
    },
    "addOns": [],
    "amount": 100,
    "cartId": "5a8a3e57-cf43-4473-8fec-422809da78f7",
    "metadata": null,
    "bookingId": "a4b16eba-f47a-49da-be4f-b6f9e1c01dec",
    "purchaser": {
      "fullName": "Alice Rivera",
      "lastName": "Smith",
      "firstName": "Alice",
      "phoneNumber": "+15550100",
      "emailAddress": "alice@example.com"
    },
    "experience": {
      "id": "7a78a18a-aa8f-456b-9fef-b43e0814401d",
      "title": "Guided Coastal Hike",
      "duration": {
        "duration": "PT2H"
      },
      "location": {
        "id": "2d786cca-8596-4c47-8b16-0c8e50451d77",
        "city": "Austin",
        "name": "Austin, TX, USA",
        "state": "TX",
        "country": "United States",
        "latitude": 30.267153,
        "longitude": -97.7430608,
        "timezoneId": "America/Chicago",
        "additionalInfo": "Please meet on the beach"
      },
      "startDateTime": "2026-02-21T14:00"
    },
    "priceTiers": [
      {
        "id": "1e067a99-cc18-4e18-a514-0d64b05b5a95",
        "name": "Adult",
        "price": 100,
        "amount": 200,
        "participantsCount": 2
      },
      {
        "id": "7a9d0374-c24d-436c-b07b-c308737e20f3",
        "name": "Child",
        "price": 50,
        "amount": 50,
        "participantsCount": 1
      }
    ],
    "participants": [
      {
        "id": "f5130f1c-d9c7-42c5-a873-4fae31dc1aec",
        "lastName": "Smith",
        "firstName": "Alice",
        "phoneNumber": null,
        "priceTierId": "1e067a99-cc18-4e18-a514-0d64b05b5a95",
        "emailAddress": null,
        "priceTierName": "Adult",
        "bookingHistoryId": "805fcac7-747a-470d-b45f-b046b72ed68a"
      },
      {
        "id": "75040b2b-fff5-498b-a52a-c8012b605900",
        "lastName": "Smith",
        "firstName": "Suzie",
        "phoneNumber": null,
        "priceTierId": "7a9d0374-c24d-436c-b07b-c308737e20f3",
        "emailAddress": null,
        "priceTierName": "Child",
        "bookingHistoryId": "805fcac7-747a-470d-b45f-b046b72ed68a"
      },
      {
        "id": "c2f9a6d1-3b84-4e0a-9c57-6f1e2a8b4d30",
        "lastName": "Smith",
        "firstName": "Jane",
        "phoneNumber": null,
        "priceTierId": "1e067a99-cc18-4e18-a514-0d64b05b5a95",
        "emailAddress": null,
        "priceTierName": "Adult",
        "bookingHistoryId": "3d1a7f42-9c65-4e8b-b210-5a84c7d96e13"
      }
    ],
    "paymentMethod": "credit-card",
    "loyaltyMemberId": null,
    "participantsCount": 3,
    "cartConfirmationCode": "mAOxREWCU",
    "loyaltyTransactionId": null,
    "modifiedAt": "2026-02-14T16:42:10.512Z",
    "bookingConfirmationCode": "wU3gwz0bJ",
    "externalAnalyticsUserId": null
  }
}
```

## Related endpoints

Retrieve the full booking with [Get Booking](/api-reference/bookings/get-booking).
