Notifications
The Rapid Notifications service sends alerts for a variety of booking events enabling you to simplify your operations and scale effectively.
The Notifications service lets you integrate with Rapid more closely than ever. When booking changes occur that can impact your business or operations, the Notifications API will push details of the change directly to your systems via standard POST messages. These push notifications enable you to remain informed, simplify your operations, and scale your business.
We currently support notifications for all booking events that occur outside of our API. So, if a call center agent makes a change or a property cancels a booking, you'll be notified immediately.
As we add features and functionality to Rapid API, we often also add new notification event types to improve your experience.
By enabling a seamless integration with your business these notifications serve to complement Rapid API, Affiliate Voyager, and other partner and customer support services.
Event schema and details
All POST notification event adhere to the schema outlined below. As new event types are added for different events the schema may vary.
| Object | Description |
|---|---|
event_id | Unique identifier for each event. |
event_type | An indication of what event caused the notification. This value can be used for message handling and routing. Refer to the list of event types for more information. |
event_time | Timestamp of the event notification given in UTC. |
itinerary_id | The Itinerary ID of the affected booking. |
email | The customer email address associated with the affected itinerary. |
message | Information about the notification event. For events of type itinerary.message.received, this will contain the actual text of the property message. In all other event types, this will be a static human friendly description of the event in English. |
affiliate_reference_id | The Affiliate Reference ID of the affected booking. |
topic_tags | The topic tags of the event. These will only be provided on events of type itinerary.message.received. This will be a list of tags that our analysis has determined might be present in the text of the message. |
Each notification is an HTTPS POST request with a JSON message body.
Please note: You’ll need to be enabled for each event type individually to be able to receive those kinds of notifications. If you would like to enable a new Notifications event type, please reach out to support.
Supported event types
The Rapid Notifications service can inform your systems with a message for the following events:
| event_type value | Source | Event | Details |
|---|---|---|---|
itinerary.agent.create | Customer support agent or Affiliate Voyager | Booking creation | A new booking was created by a Rapid customer support agent or Affiliate Voyager. |
itinerary.payment_verification.failure | Property | Credit card payment change link | The payment card provided by the traveler at time of booking has been marked as invalid by Expedia after pre-authorization. |
itinerary.agent.change | Customer support agent or Affiliate Voyager | Booking update | An existing booking was updated by a Rapid customer support agent or Affiliate Voyager. |
itinerary.agent.cancel | Customer support agent or Affiliate Voyager | Booking cancellation | An existing booking was canceled by a Rapid customer support agent or Affiliate Voyager. |
itinerary.supplier.cancel | Property | Booking cancellation | An existing booking was canceled by the property. The customer should contact your business' customer support. |
itinerary.supplier.confirm | Property | Booking update | The property has updated the property confirmation ID for the booking. |
itinerary.fraud.cancel | Expedia | Booking cancellation | An existing booking was canceled by Expedia because the booking did not comply with the terms and/or conditions applicable to the transaction. The customer will need to contact transactionprocessing@travelscape.com with their telephone number and the best time to discuss the cancellation. |
itinerary.supplier.change | Property | Booking update | An existing booking is changed by the property due to delayed arrival or early check out by the traveler. |
itinerary.traveler.noshow | Property | Traveler no show | The traveler didn't show up; hence, the property marked the booking as No show. |
itinerary.supplier.refund | Property | Booking update | For Expedia Collect bookings, property is providing traveler requested refunds. It is the duty of partner to ensure traveler receives the refunds. |
itinerary.message.received | Property | New Property Message Center message | The property has sent a new message via the Property Message Center (PMC). This event will contain the full property message text as well as the general topic(s) of the message. In addition to notification, messages will also be accessible via email and the PMC tool. Please note: You need to be integrated with Property Message Center to receive these kinds of notifications. Learn more about the Property Message Center |
itinerary.deferred_payment.cancel | Expedia | Deferred payment booking automatically cancelled by Expedia due to failed payment collection | In a deferred payment booking, the traveler's card is not charged at the time of booking — it is charged later, closer to the start of their stay. When Expedia's automated payment system exhausts its retry attempts and is unable to collect the deferred payment, it automatically cancels the booking and this notification is triggered. |
itinerary.deferred_payment.failure | Expedia | Deferred payment charge attempt failed | In a deferred payment booking, the traveler's card is not charged at the time of booking — it is charged later, closer to the start of their stay. When Expedia's payment system attempts to charge the card on the scheduled due date and the charge is unsuccessful, this notification is triggered. A deferred payment can fail up to three times before the booking is automatically cancelled and an itinerary.deferred_payment.cancel notification is sent. |
itinerary.deferred_payment.reminder | Expedia | Reminder issued for upcoming deferred payment charge | In a deferred payment booking, the traveler's card is not charged at the time of booking — it is charged later, closer to the start of their stay. Prior to Expedia's payment system attempting to collect the deferred payment, a reminder notification is sent to subscribed partners. This notification serves as an advance notice before the actual charge attempt occurs. |
itinerary.deferred_payment.success | Expedia | Deferred payment successfully collected | In a deferred payment booking, the traveler's card is not charged at the time of booking — it is charged later, closer to the start of their stay. When Expedia's payment system successfully collects the deferred payment on the scheduled due date, this notification is triggered. This event is generated entirely by Expedia's internal payment systems and is not the result of any partner or traveler API action. |
itinerary.traveler.checked_in | Property | Traveler has checked in to the property | When a lodging property reports that a traveler has checked in to their room — either through Expedia Partner Central or their connectivity integration — this notification is triggered. A notification is sent per room for each room in the booking where a check-in has been reported. Once this notification is sent, the booking can no longer be cancelled or modified via the Rapid API. |
itinerary.unspecified.cancel | Expedia | Booking cancelled by an unspecified party | This notification is sent when a booking is cancelled but the system is unable to identify whether the cancellation was initiated by the traveler, the property/host, or an agent. It is primarily used for Vrbo bookings on Rapid where the cancelling party cannot be determined, as well as for flight itinerary cancellations where the party is unknown. Because the source of the cancellation is indeterminate, partners cannot distinguish who initiated the cancellation from the notification alone. |
itinerary.unspecified.change | Expedia | Booking changed by an unspecified party | This notification is sent when an existing booking is changed (a "hard change") but the system cannot identify whether the change was initiated by the traveler, the property/host, or an agent. It is primarily used for Vrbo bookings on Rapid. Upon receiving this notification, partners should perform a Booking Retrieve call to determine what was changed and see the updated booking details. |
itinerary.waiver.update | Expedia (on behalf of the property or an Expedia agent) | A cancel penalty waiver request has been approved or denied | When a traveler submits a cancel penalty waiver request, the request is sent to the property for review via Expedia Partner Central. When the property approves or denies the waiver — or when an Expedia agent resolves it after the property's 24-hour response window expires — this notification is triggered. Upon receiving this notification, partners should retrieve the itinerary to check the outcome of the waiver request. |
itinerary.conversation.attachment.success | Expedia | Conversation API attachment upload succeeded | When an attachment is initially uploaded by the traveler, it must be processed by Expedia before it is uploaded to the conversation. When an attachment is successfully processed, the attachment is added to the conversation and this notification is triggered. |
itinerary.conversation.attachment.failure | Expedia | Conversation API attachment upload failed | When an attachment is initially uploaded by the traveler, it must be processed by Expedia before it is uploaded to the conversation. When an attachment fails to be processed, the attachment is not added to the conversation and this notification is triggered. |
Example for itinerary.agent.create
{
"event_id": "dbacce6c-afcb-4b23-ae66-48050757551c",
"event_type": "itinerary.agent.create",
"event_time": "2026-08-09T16:47:32.039Z",
"itinerary_id": "8091234567890",
"email": "customer@example.com",
"message": "An agent created a new itinerary.",
"affiliate_reference_id": "b086d299-2f1f-4134-a23c-f4a1c9286fac"
}Example for itinerary.supplier.confirm
{
"event_id": "e02d6f41-4708-476f-915d-8a7032942e94",
"event_type": "itinerary.supplier.confirm",
"event_time": "2027-04-28T20:31:03.423Z",
"itinerary_id": "8999989898988",
"email": "alice@example.com",
"message": "The supplier confirmed one or more rooms on this itinerary.",
"affiliate_reference_id": "R194193582",
"rooms": [
{
"confirmation_id": {
"expedia": "926784314",
"property": "BEF23123AA"
}
},
{
"confirmation_id": {
"expedia": "926784315"
}
}
]
}Example for itinerary.message.received
{
"event_id": "1aed5641-7285-4c42-b079-f5f2f139d148",
"event_type": "itinerary.message.received",
"event_time": "2027-11-14T02:33:18.860105363Z",
"itinerary_id": "9025254271673",
"email": "john@email.com",
"message": " We accept your request for a river view room. You will be able to check in at 11:00 AM. Please also note that the pool will be closed for scheduled maintenance on the day of your arrival, it will be open normal hours (9 AM to 10 PM) for the remainder of your stay. Looking forward to your visit.",
"topic_tags": "Check-in, Property/Amenity Closure",
"affiliate_reference_id": "b086d299-2f1f-4134-a23c-f4a1c9286fac"
}API details
Explore the notification-related endpoint definitions on this page, then use the API Explorer or another testing software to get an understanding of how the examples and schema definitions compare to the actual output. We also have a Notification Tester that you can use to test your integration with our Notifications API.