Skip Navigation

Workflow Extension Points

Extension Points

The table below summarizes workflow extension points. In order to register the extension, specific interface has to be implemented and registered in manifest.json file for web extensions. See Using Workflow Extensions article for implementation details. Each extension point has its own functional interface. Data are passed in method’s parameter. Method returns status and (optionally) modified data. Some of the extension points allow to modify data (Editable) and some contain data model that is read only and cannot be modified (Read-only).

All of the extension points share common details:

  • All extension points allow to execute custom code allowing Red Apps to provide custom logic.

  • Before extension points ("before" prefix in extension point name) are triggered before a request is sent. The common use cases for these extension points is the modification of the data in the request.

  • After extension points ("after" prefix in name) are triggered after response is received but before it is rendered to the screen. Often used to monitor agent actions.

  • All extension points allow to abort the flow. This can be used to replace the default flow with the custom one.

  • Input type extension points ("input" suffix in extension point name) are the special type of extension point triggered before a form is shown. The common use cases for these extension points is form prepopulation.

  • Credit card data available in some extension points data is always masked. See Credit card masking subsection for more details.

Credit card masking

In each extension point that contains Credit Card data, number and security code are masked. Credit card number is masked except last 4 digits, security code (CVV/CVC) is fully masked. Additionally, these fields contains masking identifier at the end of each separated by the pipe operator "|", e.g.:

  • Credit Card number 4242424242424242 will be masked into XXXXXXXXXXXX4242|0

  • Security Code 123 will be masked into XXX|1

If the extension allows to modify Credit Card data, new entered value should not contain a pipe separator and identifier.

Extension Points List

Group Id Extension Point Id Interface Data Model Returned value

dynamo.air.airbooking

beforeAirBookAndPrice

BeforeAirBookAndPriceExtension

Editable

CommandMessageAirBookAndPriceRq

ExtPointAirBookAndPriceRqDataResult

afterAirBookAndPrice

AfterAirBookAndPriceExtension

Read-only

CommandMessageAirBookAndPriceRs

ExtPointAirBookAndPriceRsDataResult

dynamo.air.pq

beforePriceQuoteCreation

BeforePriceQuoteCreationExtension

Read-only

CommandMessagePriceQuoteCreationRq

ExtPointPriceQuoteCreationRqDataResult

afterPriceQuoteCreation

AfterPriceQuoteCreationExtension

Read-only

CommandMessagePriceQuoteCreationRs

ExtPointResult

dynamo.air.pricing

beforePricing

BeforeAirPriceExtension

Editable

CommandMessageAirPriceRq

ExtPointBeforeAirPriceRqDataResult

afterPricing

AfterAirPriceExtension

Read-only

CommandMessageAirPriceRs

ExtPointResult

dynamo.airavailability

beforeAirAvailability

BeforeAirAvailabilityExtension

Editable

CommandMessageAirAvailabilityInputRq

ExtPointAirAvailabilityRqDataResult

afterAirBooking

AfterAirBookingExtension

Read-only

CommandMessageAirBookingRs

ExtPointAirBookingRsDataResult

dynamo.airshopping

beforeAirShopping

BeforeAirShoppingExtension

Editable

CommandMessageAirShoppingRq

ExtPointAirShoppingRqDataResult

afterAirShopping

AfterAirShoppingExtension

Read-only

CommandMessageAirShoppingRs

ExtPointAirShoppingRsDataResult

beforeFlightsInput

BeforeFlightsInputExtension

Editable

CommandMessageFlightsInputRq

ExtPointFlightsInputRqDataResult

dynamo.airshopping.input

beforeAirShoppingInput

BeforeAirShoppingInputExtension

Editable

CommandMessageAirShoppingInputRq

ExtPointAirShoppingInputRqDataResult

dynamo.car

beforeCarBookInput

BeforeCarBookInputExtension

Editable

CommandMessageCarBookInputRq

ExtPointCarBookInputRqDataResult

beforeCarBook

BeforeCarBookExtension

Read-only

CommandMessageCarBookRq

ExtPointCarBookRqDataResult

afterCarBook

AfterCarBookExtension

Read-only

CommandMessageCarBookRs

ExtPointCarBookRsDataResult

beforeCarReservationInput

BeforeCarReservationInputExtension

Editable

CommandMessageCarReservationInputRq

ExtPointCarReservationInputRqDataResult

beforeCarShopping

BeforeCarShoppingExtension

Editable

CommandMessageCarShoppingRq

ExtPointCarShoppingRqDataResult

dynamo.exchange

beforeExchangeComparison

BeforeExchangeComparisonExtension

Editable

CommandMessageExchangeComparisonInputRq

ExtPointExchangeComparisonInputRqDataResult

afterExchangeComparison

AfterExchangeComparisonExtension

Editable

CommandMessageExchangeComparisonRs

ExtPointExchangeComparisonRsDataResult

beforeExchangeConfirmation

BeforeExchangeConfirmationExtension

Editable

CommandMessageExchangeConfirmationInputRq

ExtPointExchangeConfirmationInputRqDataResult

afterExchangeConfirmation

AfterExchangeConfirmationExtension

Read-only

CommandMessageExchangeRs

ExtPointExchangeConfirmationRsDataResult

dynamo.hotel.book

beforeHotelBookInput

BeforeHotelBookInputExtension

Read-only

CommandMessageHotelBookInputRq

ExtPointHotelBookInputRqDataResult

beforeHotelBook

BeforeHotelBookExtension

Editable

CommandMessageHotelBookRq

ExtPointHotelBookRqDataResult

afterHotelBook

AfterHotelBookExtension

Read-only

CommandMessageHotelBookRs

ExtPointResult

dynamo.hotel.details

beforeHotelDetails

BeforeHotelDetailsExtension

Editable

CommandMessageHotelDetailsRq

ExtPointHotelDetailsRqDataResult

afterHotelDetails

AfterHotelDetailsExtension

Read-only

CommandMessageHotelDetailsRs

ExtPointResult

dynamo.hotel.modify

beforeHotelChangeDatesInput

BeforeHotelChangeDatesInputExtension

Editable

CommandMessageHotelChangeDatesInputRq

ExtPointHotelChangeDatesInputRqDataResult

beforeHotelModifyDetailsInput

BeforeHotelModifyDetailsInputExtension

Editable

CommandMessageHotelModifyDetailsInputRq

ExtPointHotelModifyDetailsInputRqDataResult

afterHotelModifyDetails

AfterHotelModifyDetailsExtension

Editable

CommandMessageHotelModifyDetailsRs

ExtPointHotelModifyDetailsRsDataResult

afterHotelModify (deprecated)

AfterHotelModifyExtension

Read-only

CommandMessageHotelModifyRs

ExtPointResult

dynamo.hotel.shopping

beforeHotelShopping

BeforeHotelShoppingExtension

Editable

CommandMessageHotelShoppingRq

ExtPointHotelShoppingRqDataResult

afterHotelShopping

AfterHotelShoppingExtension

Read-only

CommandMessageHotelShoppingRs

ExtPointResult

dynamo.ndc

beforeCreateOrderInput

BeforeOrderCreateInputExtension

Editable

CommandMessageOrderCreateInputRq

ExtPointOrderCreateInputRqDataResult

beforeOrderCreate

BeforeOrderCreateExtension

Read-only

CommandMessageOrderCreateRq

ExtPointOrderCreateRqDataResult

afterOrderCreate

AfterOrderCreateExtension

Read-only

CommandMessageOrderCreateRs

ExtPointOrderCreateRsDataResult

beforeRePriceOfferInput

BeforeRePriceOfferInputExtension

Editable

CommandMessageRePriceOfferInputRq

ExtPointRePriceOfferInputRqDataResult

dynamo.pnr

beforeIgnore

BeforeIgnoreExtension

Editable

CommandMessageIgnorePnrRq

ExtPointIgnorePnrRqDataResult

afterIgnore

AfterIgnoreExtension

Read-only

CommandMessageIgnorePnrRs

ExtPointIgnorePnrRsDataResult

beforeInvoiceIssue

BeforeInvoiceIssueExtension

Editable

CommandMessageInvoiceIssueRq

ExtPointInvoiceIssueRqDataResult

afterInvoiceIssue

AfterInvoiceIssueExtension

Read-only

CommandMessageInvoiceIssueRs

ExtPointInvoiceIssueRsDataResult

dynamo.pnr.end

beforeEndCommand

BeforeEndCommandExtension

Read-only

CommandMessageEndReservationRq

ExtPointResult

afterEndCommand

AfterEndCommandExtension

Read-only

CommandMessageEndReservationRs

ExtPointResult

dynamo.queue.place

beforeQueuePlace

BeforeQueuePlaceExtension

Editable

CommandMessageQueuePlaceRq

ExtPointQueuePlaceRqDataResult

afterQueuePlace

AfterQueuePlaceExtension

Read-only

CommandMessageQueuePlaceRs

ExtPointResult

dynamo.segment

beforeAirPassiveAdd

BeforeAirPassiveAddExtension

Editable

CommandMessageAirPassiveAddRq

ExtPointAirPassiveAddRqDataResult

afterAirPassiveAdd

AfterAirPassiveAddExtension

Read-only

CommandMessageAirPassiveAddRs

ExtPointResult

beforeCarPassiveAdd

BeforeCarPassiveAddExtension

Editable

CommandMessageCarPassiveAddRq

ExtPointCarPassiveAddRqDataResult

afterCarPassiveAdd

AfterCarPassiveAddExtension

Read-only

CommandMessageCarPassiveAddRs

ExtPointResult

beforeHotelPassiveAdd

BeforeHotelPassiveAddExtension

Editable

CommandMessageHotelPassiveAddRq

ExtPointHotelPassiveAddRqDataResult

afterHotelPassiveAdd

AfterHotelPassiveAddExtension

Read-only

CommandMessageHotelPassiveAddRs

ExtPointResult

beforeOtherPassiveAdd

BeforeOtherPassiveAddExtension

Editable

CommandMessageOtherPassiveAddRq

ExtPointOtherPassiveAddRqDataResult

afterOtherPassiveAdd

AfterOtherPassiveAddExtension

Read-only

CommandMessageOtherPassiveAddRs

ExtPointOtherPassiveAddRsDataResult

beforeIssueServiceFee

BeforeIssueServiceFeeExtension

Editable

CommandMessageIssueServiceFeeRq

ExtPointIssueServiceFeeRqDataResult

afterIssueServiceFee

AfterIssueServiceFeeExtension

Read-only

CommandMessageIssueServiceFeeRs

ExtPointIssueServiceFeeRsDataResult

dynamo.segment.cancel

beforeSegmentCancel

BeforeSegmentCancelExtension

Read-only

CommandMessageSegmentCancelRq

ExtPointBeforeSegmentCancelRqDataResult

afterSegmentCancel

AfterSegmentCancelExtension

Read-only

CommandMessageSegmentCancelRs

ExtPointResult

dynamo.ticketing

beforeCancelDocumentRefund

BeforeCancelDocumentRefundExtension

Read-only

CommandMessageCancelDocumentRefundRq

ExtPointCancelDocumentRefundRqDataResult

afterCancelDocumentRefund

AfterCancelDocumentRefundExtension

Read-only

CommandMessageCancelDocumentRefundRs

ExtPointCancelDocumentRefundRsDataResult

beforeIssueTicketInput

BeforeIssueTicketInputExtension

Editable

CommandMessageIssueTicketInputRq

ExtPointIssueTicketInputRqDataResult

beforeIssueTicket

BeforeIssueTicketExtension

Editable

CommandMessageIssueTicketRq

ExtPointIssueTicketRqDataResult

afterIssueTicket

AfterIssueTicketExtension

Read-only

CommandMessageIssueTicketRs

ExtPointResult

beforeRevalidateTicket

BeforeRevalidateTicketExtension

Editable

CommandMessageRevalidateTicketRq

ExtPointRevalidateTicketRqDataResult

afterRevalidateTicket

AfterRevalidateTicketExtension

Read-only

CommandMessageRevalidateTicketRs

ExtPointRevalidateTicketRsDataResult

beforeVoidDocument

BeforeVoidDocumentExtension

Read-only

CommandMessageVoidDocumentRq

ExtPointVoidDocumentRqDataResult

afterVoidDocument

AfterVoidDocumentExtension

Read-only

CommandMessageVoidDocumentRs

ExtPointVoidDocumentRsDataResult

Extension Points Details

dynamo.air.airbooking:beforeAirBookAndPrice

This extension point is executed before air segment book request is sent.

It is triggered from graphical path:

  • Command helper → Air → Shop fares → "Shop airfare" → Response drawer → "Sell & Save Price"

  • Command helper → Air → Shop fares → "Shop airfare" → Response drawer → Branded Fares tile → "Sell & Save Price"

  • Command helper → Air → Shop flights → "Shop flights" → Response drawer → "Sell & Save Price"

This extension point is used by some of the agencies to analyze sales decision factors in the booking process. To take advantage of it, the agency needs to decorate Sabre’s air shopping response with its own tags (or use Sabre-generated tags), then at the time of booking ("Sell & Save Price") Red App may read such data in the extension point to be further stored and analyzed by the agency management.

dynamo.air.airbooking:afterAirBookAndPrice

This extension point is executed after air segment book response is received.

Trigger points are described for dynamo.air.airbooking:beforeAirBookAndPrice.

dynamo.air.pq:beforePriceQuoteCreation

This extension point is executed before price quote creation request is sent.

It is triggered:

dynamo.air.pq:afterPriceQuoteCreation

This extension point is executed after price quote creation response is received.

Trigger points are described for dynamo.air.pq:beforePriceQuoteCreation.

dynamo.air.pricing:beforePricing

This extension point is executed before pricing request is sent.

It is triggered:

  • From commands starting with WP (e.g. WP, WPA) except for WPNI command

  • From graphical path using "Advanced Pricing Options":

    • Graphical PNR View → Itinerary → Segment drawer → "Pricing options"

    • Price quote response → "Re-pricing options"

When extension is triggered from "Advanced Pricing" window then modification of payment data is limited to fields that are available on this window.

dynamo.air.pricing:afterPricing

This extension point is executed after pricing response is received.

Trigger points are described for dynamo.air.pricing:beforePricing.

dynamo.airavailability:beforeAirAvailability

This extension point is executed before air availability request is sent.

It is triggered:

  • From CPA commands (starting with 1, e.g. 1LASLAX)

  • From graphical path: Command helper → Air → Availability → "Search availability"

In case where agent is requesting multi air availability from graphical form then all legs are present in extension data model. So far it is not possible to add/remove air availability legs in request or modify their sequence.

dynamo.airavailability:afterAirBooking

This extension point is executed after segment or segments book request is received.

It is triggered:

  • From sell commands (e.g. 01Y1)

  • From graphical path: Command helper → Air → Availability → "Search availability" → Response drawer → "Sell"

dynamo.airshopping:beforeAirShopping

This extension point is executed before air shopping request is sent.

It is triggered from graphical path:

  • Command helper → Air → Shop fares → "Shop airfare"

dynamo.airshopping:afterAirShopping

This extension point is executed after air shopping response is received.

Trigger points are described for dynamo.airshopping:beforeAirShopping.

dynamo.airshopping:beforeFlightsInput

This extension point is executed before user sees the "Flights" form.

It is triggered from graphical path:

  • Command helper → Air → Shop flights

dynamo.airshopping.input:beforeAirShoppingInput

This extension point is executed before user sees the "Air Shopping" form.

It is triggered from graphical path:

  • Command helper → Air → Shop fares

dynamo.car:beforeCarBookInput

This extension point is executed before user sees the "Car Book" form.

It is triggered from graphical path:

  • Trip summary → Air segment kebab menu → "Book car"

dynamo.car:beforeCarBook

This extension point is executed before car book request is sent.

It is triggered from graphical path:

  • Command helper → Cars → "Shop cars" → Response drawer → "Book"

dynamo.car:afterCarBook

This extension point is executed after car book response is received.

Trigger points are described for dynamo.car:beforeCarBook.

dynamo.car:beforeCarReservationInput

This extension point is executed before user sees the "Car Reservation" form.

It is triggered from graphical path:

  • Command helper → Cars → "Shop cars" → Response drawer → "Book"

  • Command helper → Car → Airport search/Location search/Car quote → "Shop cars" → Response drawer → "Book".

dynamo.car:beforeCarShopping

This extension point is executed before car shopping request is sent.

It is triggered from graphical path:

  • Command helper → Cars → "Shop cars"

dynamo.exchange:beforeExchangeComparison

This extension point is executed before user sees the exchange comparison form modal (launched during the ticket exchange procedure).

It is triggered from graphical path:

  • Workflows sidepanel → "Exchange ticket" flow

  • Graphical PNR View → Ticketing → "Exchange" dropdown → "Exchange ticket" flow

dynamo.exchange:afterExchangeComparison

This extension point is executed after exchange comparison response is received.

Trigger points are described for dynamo.exchange:beforeExchangeComparison.

dynamo.exchange:beforeExchangeConfirmation

This extension point is executed before user sees the exchange confirmation form modal (launched during the ticket exchange procedure).

It is triggered from graphical path:

  • Workflows sidepanel → "Exchange ticket" flow

  • Graphical PNR View → Ticketing → "Exchange" dropdown → "Exchange ticket" flow

dynamo.exchange:afterExchangeConfirmation

This extension point is executed after exchange confirmation response is received.

Trigger points are described for dynamo.exchange:beforeExchangeConfirmation.

Data provided to the extension point contains exchange confirmation result with PQR number in case of success or error messages in case of failure.

dynamo.hotel.book:beforeHotelBookInput

This extension point is executed before user sees the "Hotel reservation" form.

It is triggered:

  • From hotel book commands (e.g. "0H1¥1")

  • From graphical path:

    • Command helper → Hotel → "Hotel property search" → "Shop hotels" → Response drawer (→ "Rate details") → "Book"

    • Command helper → Hotel → "Hotel search" → "Shop hotels" → Response drawer → "View rates" → Response Drawer (→ "Rate details") → "Book"

Some of the optional fields in the data model (e.g. crib or rollaway bed) may not be applicable and are not shown on the form - they will not be used in the request even if are defined by the extension.

dynamo.hotel.book:beforeHotelBook

This extension point is executed before the hotel sell (book) request is sent.

It is triggered by submitting the "Hotel reservation" form. How to open "Hotel reservation" form is described for dynamo.hotel.book:beforeHotelBookInput extension point.

dynamo.hotel.book:afterHotelBook

This extension point is executed after the hotel sell (book) response is received.

Trigger points are described for dynamo.hotel.book:beforeHotelBook.

dynamo.hotel.details:beforeHotelDetails

This extension point is executed before the hotel details request is sent.

It is triggered:

  • From HOD commands (e.g. HOD123)

  • From graphical path:

    • Command helper → Hotel → Hotel property search → "Shop hotels"

    • Command helper → Hotel → Hotel search → "Shop hotels" → Response drawer → "View rates"

dynamo.hotel.details:afterHotelDetails

This extension point is executed after the hotel details response is received.

Trigger points are described for dynamo.hotel.details:beforeHotelDetail.

dynamo.hotel.modify:beforeHotelChangeDatesInput

This extension point is executed before user sees the hotel change dates form.

It is triggered from graphical path using "Change dates" action for the hotel segment. This action can be accessed:

  • Trip summary → Hotel segment kebab menu → "Change dates"

  • Graphical PNR View → Itinerary → Hotel segment drawer → "Modify" dropdown → "Change dates"

Some of the properties available in the data model are read-only (HotelName, PropertyId, and SegmentNumber).

Changing read-only properties causes an Invalid data modification exception.

dynamo.hotel.modify:beforeHotelModifyDetailsInput

This extension point is executed before user sees the hotel modify details form.

It is triggered from graphical path using "Modify details" action for the hotel segment. This action can be accessed:

  • Trip summary → Hotel segment kebab menu → "Modify details"

  • Graphical PNR View → Itinerary → Hotel segment drawer → "Modify" dropdown → "Modify details"

It is forbidden to modify hotel segment data in this extension point. Attempting to modify this data will result in an error and flow interruption.

dynamo.hotel.modify:afterHotelModifyDetails

This extension point is executed after hotel segment details modification response is received.

It is triggered:

  • From commands starting with HOM (e.g. HOM1O/AGT54123455)

  • From graphical path using "Change dates", "Change room type" and "Modify details" actions for the hotel segment. These actions can be accessed:

    • Trip summary → Hotel segment kebab menu

    • Graphical PNR View → Itinerary → Hotel segment drawer → "Modify" dropdown

dynamo.hotel.modify:afterHotelModify

Deprecated

This extension point is deprecated and will be removed soon.
Use dynamo.hotel.modify:afterHotelModifyDetails extension point instead.

dynamo.hotel.shopping:beforeHotelShopping

This extension point is executed before hotel shopping request is sent.

It is triggered:

  • From commands starting with HOT (e.g. HOTJFK)

  • From graphical path: Command helper → Hotel → "Hotel search"/"Address search" → "Shop hotels"

dynamo.hotel.shopping:afterHotelShopping

This extension point is executed after hotel shopping response is received.

Trigger points are described in dynamo.hotel.shopping:beforeHotelShopping.

dynamo.ndc:beforeCreateOrderInput

This extension point is executed before user sees the "Create order" form modal.

It is triggered from graphical path:

  • NDC Air segment response drawer → "Select offer" → "Create Order"

  • Offer ID and selected offer item IDs are provided to the Red App in a read-only form in the data model.

  • If phones or emails data are provided by the extension point no other phones or emails data will be prepopulated from the user session if they are being observed there.

dynamo.ndc:beforeOrderCreate

This extension point is executed before create order modal request is sent (after submitting "Create order" modal in graphical flow when working with an NDC segment).

It is triggered from graphical path:

  • NDC Air segment response drawer → "Select offer" → "Create Order"

dynamo.ndc:afterOrderCreate

This extension point is executed after create order modal response is received (after submitting "Create order" modal in graphical flow when working with an NDC segment).

Trigger points are described for dynamo.ndc:beforeOrderCreate.

dynamo.ndc:beforeRePriceOfferInput

This extension point is executed before user sees "Advanced pricing" modal form.

It is triggered form graphical path:

  • NDC Air segment response drawer → "Select offer" → "Reprice"

dynamo.pnr:beforeIgnore

This extension point is executed before PNR ignore request is sent.

It is triggered:

  • From ignore command (e.g. I, IC, IR)

  • From graphical path: Trip summary → Action buttons → I/IR/IC

dynamo.pnr:afterIgnore

This extension point is executed after PNR ignore response is received.

Trigger points are described for dynamo.pnr:beforeIgnore.

dynamo.pnr:beforeInvoiceIssue

This extension point is executed before invoice issue request is sent.

It is triggered from commands starting with DIN (e.g. DIN, DIN/X|S1).

dynamo.pnr:afterInvoiceIssue

This extension point is executed after invoice issue response is received.

Trigger points are described for dynamo.pnr:beforeInvoiceIssue.

dynamo.pnr.end:beforeEndCommand

This extension point is executed before end PNR request is sent.

It is triggered:

  • From end command (e.g. E, ET, ER, EC)

  • From graphical path: Trip summary → Action buttons → E/ET/ER/EC

dynamo.pnr.end:afterEndCommand

This extension point is executed after receiving PNR end response.

Trigger points are described for dynamo.pnr.end:beforeEndCommand.

dynamo.queue.place:beforeQueuePlace

This extension point is executed before request to place a PNR on the queue is sent.

It is triggered:

  • From commands starting with QP (e.g. QP/R14I13/11)

  • From graphical path: Workflows sidepanel → "Queue Place"

dynamo.queue.place:afterQueuePlace

This extension point is executed after PNR queue place response is received.

Trigger points are described for dynamo.queue.place:beforeQueuePlace.

dynamo.segment:beforeAirPassiveAdd

This extension point is executed before add passive air segment request is sent.

It is triggered:

  • From add air passive segment command (e.g. 0LO279Y17JULWAWLHRYK1)

  • From graphical path: Trip summary → "Add to PNR" → Passive segment → Air

dynamo.segment:afterAirPassiveAdd

This extension point is executed after add passive air segment response is received.

Trigger points are described for dynamo.segment:beforeAirPassiveAdd.

dynamo.segment:beforeCarPassiveAdd

This extension point is executed before add passive car segment request is sent.

It is triggered from graphical path:

  • Trip summary → "Add to PNR" → Passive segment → Car

Adding a passive car segment by sending a Sabre 0CAR…​GK1…​ command will not trigger the extension point.

dynamo.segment:afterCarPassiveAdd

This extension point is executed after add passive car segment response is received.

Trigger points are described for dynamo.segment:beforeCarPassiveAdd.

dynamo.segment:beforeHotelPassiveAdd

This extension point is executed before add passive hotel segment request is sent.

It is triggered:

  • From commands starting with 0HHT

  • From graphical path:

    • Trip summary → "Add to PNR" → Passive segment → Hotel

    • Command helper → Hotel → "Hotel search"/"Address search"/"Hotel property search" → "Shop hotels" → Response drawer → "Add passive"

Commands with incorrect format won’t trigger the extension point.

dynamo.segment:afterHotelPassiveAdd

This extension point is executed after add passive hotel segment response is received.

Trigger points are described for dynamo.segment:beforeHotelPassiveAdd.

dynamo.segment:beforeOtherPassiveAdd

This extension point is executed before add other passive segment request is sent.

It is triggered:

  • From commands starting with 0OTH

  • From graphical path: Trip summary → "Add to PNR" → Passive segment → Other

Commands with incorrect format won’t trigger the extension point.

dynamo.segment:afterOtherPassiveAdd

This extension point is executed after add passive other segment response is received.

Trigger points are described for dynamo.segment:beforeOtherPassiveAdd.

dynamo.segment:beforeIssueServiceFee

This extension point is executed before issue miscellaneous intelligent service fee request is sent.

It is triggered from commands starting with MISF (e.g. MISF¥S*AIR AND HOTEL SERVICE FEE¥C*IBM997YYZ).

dynamo.segment:afterIssueServiceFee

This extension point is executed after issue miscellaneous intelligent service fee response is received.

Trigger points are described for dynamo.segment:beforeIssueServiceFee.

dynamo.segment.cancel:beforeSegmentCancel

This extension point is executed before delete segment request is sent.

It is triggered:

  • From command using cancel itinerary segment command X (e.g. XI, X1)

  • From graphical path:

    • Graphical PNR View → Itinerary → "Delete"

    • Graphical PNR View → Expandable drawer section under the main PNR header → "Cancel PNR"

    • Trip summary → Segment kebab menu → "Delete segment"

dynamo.segment.cancel:afterSegmentCancel

This extension point is executed after cancel segment response is received.

Trigger points are described for dynamo.segment.cancel:beforeSegmentCancel.

dynamo.ticketing:beforeCancelDocumentRefund

This extension point is executed before cancel document refund request is sent.

It is triggered from commands starting with WTRX (e.g. WTRX0161234567890).

dynamo.ticketing:afterCancelDocumentRefund

This extension point is executed after cancel document refund response is received.

Trigger points are described for dynamo.ticketing:beforeCancelDocumentRefund.

dynamo.ticketing:beforeIssueTicketInput

This extension point is executed before user sees the "Issue ticket/EMD" form modal.

It is triggered from graphical path:

  • Workflows sidepanel → "Issue ticket/EMD"

It is forbidden to modify previously selected Price Quotes and Ancillary Items in this extension point. Attempting to modify this data will result in an error and flow interruption.

dynamo.ticketing:beforeIssueTicket

This extension point is executed before issue ticket request is sent.

It is triggered:

  • From commands starting with (e.g. W¥V1*23JUN)

  • From graphical path: Workflows sidepanel → "Issue ticket/EMD"

dynamo.ticketing:afterIssueTicket

This extension point is executed after issue ticket response is received.

Trigger points are described for dynamo.ticketing:beforeIssueTicket.

dynamo.ticketing:beforeRevalidateTicket

This extension point is executed before revalidate ticket request is sent.

It is triggered from commands starting with WETRL/ (e.g. WETRL/S3/C3*21JUN1522JUN15).

dynamo.ticketing:afterRevalidateTicket

This extension point is executed after revalidate ticket response is received.

Trigger points are described for dynamo.ticketing:beforeRevalidateTicket.

dynamo.ticketing:beforeVoidDocument

This extension point is executed before void document (ticket or EMD) request is sent.

It is triggered:

  • From commands:

    • starting with WV except for commands starting with WV* (e.g. WV3)

    • WETRV

    • WEMDV

  • From graphical path: Workflows sidepanel → "Cancel ticket/EMD"

  • This extension point is triggered for the first request and the confirmation request.

  • Be aware that in the case of EMD in NDC, this extension point also works for refund (in addition to void). This is due to external limitations.

dynamo.ticketing:afterVoidDocument

This extension point is executed after void document (ticket or EMD) response is received.

Trigger points are described for dynamo.ticketing:beforeVoidDocument.

  • This extension point is triggered for the first request and the confirmation request.

  • Be aware that in the case of EMD in NDC, this extension point also works for refund (in addition to void). This is due to external limitations.