Plugins Workflow

Introduction

Plugins are custom code, executed in HotelX servers, that add or modify specific functionalities. Any Partner can develop custom Plugins, nevertheless HotelX, HotelX has developed many Plugins available for anyone to use out of the box.

Flows

HotelX query or mutation determine what flow is executed. Plugins can be executed in different Queries or Mutations:

  • Search
  • Quote
  • Book
  • Cancel

Steps

Step is the minium container where plugins are executed sequentially.

Step When is executed
Request After Client requests message to HotelX.
Request Access Before send request to Supplier using Access and after Accesses has been calculated.
Response Option After Supplier responds message. For every option returned.
Response Access After all Access options has been responded.
Response Before HotelX responds message to to Client.

Plugin Types

Plugin types supported by HotelX:

Plugin Context Execution

Once message enters on HotelX it flows over different flows and steps. That’s why plugins are executed in different contexts.

Context allows:

  • Read objects involved in current query and/or mutations.
  • Read objects available in all HotelX operations.

With context information developers can personalize plugin features, more information about plugin development can be found here.

Plugin Step Execution

HotelX determines the order and plugin types executed for each step.

search quote hotelBook hotelCancel
Request [Pre Step]
Hotel Map
[Post Step]
[Pre Step]
[Post Step]
[Pre Step]
[Post Step]
[Pre Step]
[Post Step]
Request Access [Pre Step]
[Post Step]
[Pre Step]
[Post Step]
[Pre Step]
[Post Step]
[Pre Step]
[Post Step]
Response Option [Pre Step]
Board Map
Room Map
Rate Map
Currency Conversion
Net Price
CommissionX
Markup
Aggregation
[Post Step]
Safety Margin
[Pre Step]
Board Map
Room Map
Currency Conversion
Net Price
CommissionX
Markup
[Post Step]
[Pre Step]
Board Map
Room Map
Currency Conversion
Net Price
CommissionX
Markup
[Post Step]
[Pre Step]
Board Map
Room Map
Currency Conversion
Net Price
[Post Step]
Response [Pre Step]
Aggregation
[Post Step]
[Pre Step]
[Post Step]
[Pre Step]
[Post Step]
[Pre Step]
[Post Step]

Ftp Endpoint

ftp://ftp.xmltravelgate.com

Directory Format

Root path

The structure of the directory should be in the below format, all files should be inside this directory

/F[Folder code]_[Unique code]/HotelX_[Unique code]/

  • F[Folder code]_[Unique code]

    • Folder code: corresponds to the folder number.
    • Unique code: corresponds to the folder unique code in our system.
  • HotelX_[Unique code]

    • Unique code: corresponds to the HotelX unique code in our system.

Example

  • /F**0**\_**178**/HotelX\_**179**

How to execute a plugin

A plugin execution can be specified in any request’s HotelSettingsInput and it must specify in which step it should be executed. The plugin type and name are mandatory in order to identify a plugin instance.

"plugins": {

   "step": PluginStepType,

   "pluginsType": [

    {

     "type": PluginType,

     "name": plugin name (its unique),

     "parameters": []

    }

   ]

  }