> ## 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.rescheduled

> Fires when a booking is moved to a different session.

## When it fires

Way sends `booking.rescheduled` when a booking is moved to a different session - whether the reschedule is performed by the brand or by the guest. The payload includes both the previous and the new start date and time. If the reschedule results in an additional charge, a `booking.modified` event is also sent.

Events arrive at your endpoint as a `POST` request with the body `{ "event": "booking.rescheduled", "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 purchased with the booking.                                     |
| `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.previousStartDateTime`   | string                | Local start date and time of the session before the reschedule.         |
| `experience.startDateTime`           | string                | Local start date and time of the new session.                           |
| `experience.duration.duration`       | string                | Session duration in ISO 8601 format (for example, `PT1H`).              |
| `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 on the booking.                            |
| `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.                             |
| `rescheduledAt`                      | string (ISO 8601)     | Timestamp when the booking was rescheduled.                             |

## Sample

```json theme={null}
{
   "event":"booking.rescheduled",
   "payload":{
      "bookingId":"cc234dac-e699-448f-8049-82d16aa30788",
      "experience":{
         "id":"53e7c7e3-37c2-4af1-ab9f-958af8d42ccc",
         "title":"Sunrise Surf & Swim",
         "previousStartDateTime":"2022-11-21T09:00",
         "startDateTime":"2022-12-07T12:00",
         "location":{
            "longitude":-97.7430608,
            "latitude":30.267153,
            "name":"Austin, TX, USA",
            "additionalInfo":"Please meet us in the lobby!",
            "timezoneId":"America/Chicago"
         },
         "duration":{
            "duration":"PT1H"
         }
      },
      "participantsCount":2,
      "participants":[
         {
            "lastName":"Rivera",
            "firstName":"Alice",
            "emailAddress":"alice@example.com",
            "priceTierName":"Adult"
         },
         {
            "lastName":"Rivera",
            "firstName":"Susan",
            "priceTierName":"Child"
         }
      ],
      "priceTiers":[
         {
            "name":"Adult",
            "price":100,
            "amount":100,
            "participantsCount":1
         },
         {
            "name":"Child",
            "price":50,
            "amount":50,
            "participantsCount":1
         }
      ],
      "purchaser":{
         "fullName":"Alice Rivera",
         "emailAddress":"alice@example.com"
      },
      "metadata":null,
      "rescheduledAt":"2022-11-18T19:20:33.377Z"
   }
}
```

## Related endpoints

Retrieve the full booking with [Get Booking](/api-reference/bookings/get-booking), or reschedule bookings programmatically with [Reschedule Booking](/api-reference/bookings/reschedule-booking).
