Webhook Events (v2)

Download OpenAPI description
Languages
Servers
Staging URL
https://apis.spotnana.com/
Spotnana mock server
https://developer.spotnana.com/_mock/openapi/webhookeventapi/

webhooks

Webhooks

AGENT_TASK_DETAILSWebhook

Request

Bodyapplication/json
event_typestring

AGENT_TASK_DETAILS

operationSummaryobject(OperationSummary)

Operation summary for webhook payload

operationstring(AgentTaskOperationType)

Agent task operation types

Enum ValueDescription
TASK_CREATE

A new agent taskId has been created.

TASK_UPDATE

An update has been made to an existing taskId.

payloadobject(AgentTask)
timestampstring

Timestamp when the event was published

application/json
{ "event_type": "string", "operationSummary": { "ticketsIssued": [], "ticketsVoided": [], "ticketsRefunded": [] }, "operation": "TASK_CREATE", "payload": { "id": "065c77fa-900c-11ec-9eeb-0242ac170003", "primaryTraveler": {}, "travelArranger": {}, "taskType": "TAW - Tickets to print", "priority": "MEDIUM", "travelStartDate": {}, "bookingDate": {}, "status": "ACTIVE", "assignee": {}, "organization": {}, "sourcePnrId": "WIBAPI", "tripId": "065c77fa-900c-11ec-9eeb-0242ac170003", "source": "SABRE", "sourceMetadata": "5XY9", "referenceMetadata": "50", "contractingTmc": {}, "tierAtBooking": "SEAT1A", "taskOrigin": "SUPPLIER", "events": [], "assignedGroup": {}, "assignedAgent": {}, "taskDuration": {}, "pnrId": "9199471293", "assignedAgentBasicInfo": {}, "description": "Approval timed out", "createdAt": {} }, "timestamp": "string" }

Responses

OK

TRAVELER_V2Webhook

Request

Bodyapplication/json
event_typestring

TRAVELER_V2

operationSummaryobject(OperationSummary)

Operation summary for webhook payload

operationstring(TravelerV2OperationType)

Traveler Update operation types

Enum ValueDescription
CREATE

A new traveler profile has been created.

UPDATE

A traveler profile has been updated.

DELETE

A traveler profile has been deactivated. A deactivated profile can be reactivated later.

PURGE

A traveler’s profile has been permanently deleted. A purged traveler profile cannot be recovered.

payloadobject(UserProfile)

Traveler details.

timestampstring

Timestamp when the event was published

application/json
{ "event_type": "string", "operationSummary": { "ticketsIssued": [], "ticketsVoided": [], "ticketsRefunded": [] }, "operation": "DELETE", "payload": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "personalInfo": {}, "businessInfo": {}, "persona": "EMPLOYEE", "isActive": true, "tier": "SEAT1A", "relativeOf": {}, "travelPreferences": {}, "membershipInfo": {}, "notificationPreferences": {}, "travelArrangers": {}, "adhocUserInfo": {}, "externalId": "string" }, "timestamp": "string" }

Responses

OK

PNR_APPROVALWebhook

Request

Bodyapplication/json
event_typestring

PNR_APPROVAL

operationSummaryobject(OperationSummary)

Operation summary for webhook payload

operationstring(PnrApprovalOperationType)

The approval status for the PNR

Enum ValueDescription
APPROVAL_PENDING

A PNR’s approval status has been changed to APPROVAL_PENDING.

APPROVED

A PNR has been approved.

DENIED

The approver has denied a PNR booking.

TIMED_OUT

A PNR with hard approval has timed out since none of the approvers have taken action. In this scenario, the itinerary will be canceled.

TIMED_OUT_REMINDER

A PNR with hard approval has been created, and a reminder notification must be sent to the approver.

APPROVAL_NOT_REQUIRED

The PNR no longer requires approval (e.g., the traveler has canceled the booking before the approver could take action).

SOFT_APPROVAL_TIMEOUT

A PNR with soft approval has timed out since none of the approvers have taken any action. In this scenario, the itinerary will be booked for the traveler.

payloadobject(PnrApprovalEventPayload)
timestampstring

Timestamp when the event was published

application/json
{ "event_type": "string", "operationSummary": { "ticketsIssued": [], "ticketsVoided": [], "ticketsRefunded": [] }, "operation": "APPROVAL_PENDING", "payload": { "pnrId": "string", "tripId": "string", "approvalId": "string", "appliedApprovalType": "SOFT_APPROVAL", "deadline": {}, "approvers": [] }, "timestamp": "string" }

Responses

OK

SERVICE_CHARGEWebhook

Request

Bodyapplication/json
event_typestring

SERVICE_CHARGE

operationSummaryobject(OperationSummary)

Operation summary for webhook payload

operationstring(ServiceChargeOperationType)

Service charge operation types

ValueDescription
SERVICE_FEE

A service fee has been charged for the latest PNR.

payloadobject(ServiceChargeRecord)

Service charge record.

timestampstring

Timestamp when the event was published

application/json
{ "event_type": "string", "operationSummary": { "ticketsIssued": [], "ticketsVoided": [], "ticketsRefunded": [] }, "operation": "SERVICE_FEE", "payload": { "entity": {}, "tripId": "1234567890", "serviceChargeType": "TMC_CHARGE", "serviceType": "ITINERARY_BOOKING", "agentContact": {}, "chargeId": "e2c04834-92eb-4b62-9faa-eb73a70051d3", "charge": {}, "transactionTime": {}, "paymentStatus": "SUCCESS", "userOrgId": {}, "legalEntityId": {}, "bookingDetails": {}, "fop": {}, "paymentTransaction": {}, "failureDetails": {} }, "timestamp": "string" }

Responses

OK

PNR_V3Webhook

Request

Bodyapplication/json
event_typestring

PNR_V3

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.

payloadobject(PnrData)

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

application/json
{ "event_type": "string", "operationSummary": { "ticketsIssued": [], "ticketsVoided": [], "ticketsRefunded": [] }, "operation": "BOOKING_CREATED", "payload": { "version": 1, "createdVia": "OFFLINE", "initialVersionCreatedVia": "OFFLINE", "sourceInfo": {}, "invoiceDelayedBooking": false, "travelers": [], "pnrTravelers": [], "costOfGoodsSold": {}, "costToCustomer": {}, "transactions": [], "isFinalized": false, "policyInfo": {}, "airPnr": {}, "hotelPnr": {}, "carPnr": {}, "railPnr": {}, "limoPnr": {}, "miscPnr": {}, "additionalMetadata": {}, "preBookAnswers": {}, "customFields": [], "customFieldsV2": [], "bookingHistory": [], "totalFare": {}, "serviceFees": [], "paymentInfo": [], "bookingStatus": "PENDING_STATUS", "contactSupport": false, "travelerPnrVisibilityStatus": "VISIBLE", "shellPnrInfo": {}, "pnrCreationDetails": {}, "approvalInfo": [], "cancellationRequestStatus": "CANCELLATION_IN_PROGRESS", "externalInfo": {}, "tripId": "123456789", "documents": [], "freshnessInfo": {}, "bookingEmailInfo": {}, "llfPnrInfo": {}, "pnrId": "123456789", "invoiceInfos": [], "totalFareAmount": {}, "dkNumber": "123456789", "savingsFare": {}, "tripUsageMetadata": {} }, "timestamp": "string" }

Responses

OK

TRIP_DETAILS_V3Webhook

Request

Bodyapplication/json
event_typestring

TRIP_DETAILS_V3

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.

payloadobject(TripV3DetailsResponse)

Trip Details Response for a given trip Id

timestampstring

Timestamp when the event was published

application/json
{ "event_type": "string", "operationSummary": { "ticketsIssued": [], "ticketsVoided": [], "ticketsRefunded": [] }, "operation": "BOOKING_CREATED", "payload": { "basicTripInfo": {}, "pnrs": [], "pendingShellPnrs": [], "pendingManualFormPnrs": [], "tripStatus": "CONFIRMED", "tripBookingStatus": "PENDING_STATUS", "eventSummary": {}, "simplePnrs": [], "additionalInfo": {}, "tripPaymentInfo": {} }, "timestamp": "string" }

Responses

OK