Skip to content

EXPENSE_PNR_V1
Webhook

Request

Security
Bearer
Bodyapplication/json
event_typestring

EXPENSE_PNR_V1

Example:"EXPENSE_PNR_V1"
operationSummaryobject(OperationSummary)

Operation summary for webhook payload

operationstring(PnrTripDetailOperationType)

Pnr and trip details operation types

Enum ValueDescription
BOOKING_CREATED

The latest PNR status has been changed to CONFIRMED status (i.e., the booking has been confirmed by the supplier).

BOOKING_OTHER_UPDATE

If none of the other change types apply to the PNR update, the update will be attributed to this change type.

TRIP_UPDATED

Trip information (e.g., trip ID, trip status, trip name, etc) associated with a PNR has been updated.

BOOKING_UPDATED

An update has been made to a rail, hotel, car, limo, or a miscellaneous PNR. This operation doesn't support air PNR.

BOOKING_CANCELED_BY_TRAVELER

The status of the latest car or hotel PNR has been changed to CANCELLED or VOIDED by the traveler. Canceling via Shell PNRs will not trigger this operation.

BOOKING_CANCELED_BY_VENDOR

The status of the latest car or hotel PNR has been changed to CANCELLED or VOIDED by the vendor. Canceling via Shell PNRs will not trigger this operation.

BOOKING_REBOOKED

A car or a hotel PNR has been rebooked and its status is CONFIRMED. To identify a rebooked PNR, compare the vendor confirmation numbers on the latest PNR version and its previous version. If the values are different, then the PNR has been rebooked.

BOOKING_TICKETED

One or more ticket statuses for the latest air PNR have been changed to ISSUED. View the operationSummary.ticketsIssued array in the webhook request schema to identify the list of new tickets issued.

TICKET_VOIDED

One or more ticket statuses for the latest air PNR have been changed to VOIDED. View the operationSummary.ticketsVoided array in the webhook request schema to identify the voided tickets.

TICKET_REFUNDED

One or more ticket statuses for the latest air PNR have been changed to REFUNDED or EXCHANGED. View the operationSummary.ticketsRefunded array in the webhook request schema to identify the refunded tickets.

FLIGHT_SCHEDULE_CHANGE_PENDING

The status of at least one of the flights in the air PNR has been updated to SCHEDULE_CHANGE. This indicates that a schedule change has been initiated by the airline but hasn’t been confirmed yet. For Sabre, this operation is invoked when the latest PNR has a flight status of SC, TK, TN, or TL.

FLIGHT_SCHEDULE_CHANGE_CLOSED

A schedule change for a flight has been confirmed or canceled. For Sabre, this operation is triggered when a flight's schedule change, indicated by status codes SC, TK, TL, or TN in the previous PNR version, has been CONFIRMED in the latest PNR version.

FLIGHT_CABIN_CHANGED

The cabin type of a flight in the latest PNR version has either been upgraded or downgraded from the previously selected type.

FLIGHT_SEAT_CANCELLED

The status for a flight seat in the latest PNR has been changed to CANCELLED. The flight seat status of the previous PNR version should contain the values CONFIRMED or PENDING, indicating that a seat selection had been made or attempted.

FLIGHT_SEAT_CONFIRMED

The flight seat status of the latest PNR has been changed to CONFIRMED from a previous UNCONFIRMED state.

FLIGHT_SEAT_CHANGED

A confirmed flight seat number of the latest PNR has been changed.

PAYMENT_DECLINED

The payment for an air itinerary has failed (e.g., due to card decline, network problems, etc). The traveler or agent can manually retry the payment. The ticket is issued after a successful payment retry.

FLIGHT_CANCELLED

The flight segment in the latest PNR has been canceled.

SPLIT_PNR_CREATED

A PNR has been split into multiple child PNRs. This occurs when a PNR is booked for multiple passengers.

REFUND

The status of the latest rail PNR version has been changed to CANCELLED or VOIDED.

EXCHANGE

A rail PNR has been exchanged (e.g., to change passenger details, to select a different travel card for the rail journey, etc.).

FLIGHT_CHANGED

When a flight is changed as part of exchange, but no new ticket is issued. In this case the original ticket is revalidated for new flights.

INVOICE_GENERATED

An invoice has been generated for the PNR either external or spotnana internal.

Example:"BOOKING_CREATED"
payloadobject(PnrExpenseData)

Pnr data with all information about a single booking containing one of Air, Hotel, Car, Rail, Limo or Miscellaneous PNR.

timestampstring

Timestamp when the event was published

audienceobject(WebhookAudience)

Audience for whom this webhook payload is intended

payloadMetadataobject(PayloadMetadata)

Metadata about the webhook payload processing

POST
EXPENSE_PNR_V1
Payload
{ "event_type": "EXPENSE_PNR_V1", "operationSummary": { "ticketsIssued": [ … ], "ticketsVoided": [ … ], "ticketsRefunded": [ … ] }, "operation": "BOOKING_CREATED", "payload": { "pnrId": "123456789", "tripId": "123456789", "version": 1, "bookingStatus": "PENDING_STATUS", "invoiceDelayedBooking": false, "createdAt": { … }, "updatedAt": { … }, "dkNumber": "123456789", "basicTripInfo": { … }, "pnrTravelers": [ … ], "policyInfo": { … }, "transactions": [ … ], "paymentInfo": [ … ], "totalFare": { … }, "totalFareAmount": { … }, "additionalFareAmounts": [ … ], "invoiceInfos": [ … ], "invoiceData": [ … ], "documents": [ … ], "customFieldsV3Responses": [ … ] }, "timestamp": "string", "audience": { "organizationId": "string", "contractingTmcId": "string", "bookingTmcId": "string" }, "payloadMetadata": { "piiMaskingStatus": "APPLIED" } }

Responses

OK