Hotel-X Changelog

Easily accessible log of notable changes to HotelX API


  • Add 3 new fields in PaymentCardInput isVCC, virtualCreditCard and threeDomainSecurity, check Graphql schema changes, for more detail and example you cansee the Book request specification

  • Strong Customer Authentication (3DS). 3DS data can now be included with a Payment Card in a book request alongside payment card data. You can find new field threeDomainSecurity on the input of Paymentcard.

  • Virtual Credit Cards (VCC). Extra information about Virtual Credit Cards can now be included with a Payment Card in a Book request. You can find new field virtualCreditCard input of Paymentcard.


  • We have added the feature of mapping promotions in booking-flow and default codes are implemented for promotions too. Mapping Plugins

  • Now we send to InsightsX mapping of Promotions to visualize the status of your mapping in the connectivities you have in a structured reports.


  • Now we send to InsightsX mapping of Hotel, Board, Room and Rate to visualize the status of your mapping in the connectivities you have in a structured reports.

  • Add “Default Codes” to Mapping Plugins, this feature allows to set a default code for each code in the source (provider) context.


  • Now the booking and cancel services allow the user to retrieve and cancel a book with the new field returned in book response bookingID. You can see more details of bookingID in the documentation here.


  • Added new field bookingID into Reference (book, booking and cancel). This bookingID will be useful for booking retrieving and cancelling.
  • Added new field bookingID into HotelCancelInput (cancel).
  • Added new field bookingID into HotelCriteriaBookingInput (booking).


  • Added deletedAt_in, deletedAt_not_in, deletedAt_lt, deletedAt_lte, deletedAt_lte, deletedAt_gt and deletedAt_gte fields into HotelXHotelFilterInput.


  • Internal changes. Added field features into optionid. Some options returned in Search were not able to be priced in Quote step since for HotelX these options were exactly the same. Now these options are treated as different thanks to the field features inside the optionid.
  • The search options with RateRulesType PUBLIC_SERVANT and UNEMPLOYED will no longer be discarted.


  • We’ve launched a new API called Metadata, which allow you to retrieve the supplier information and configuration. You can see the documentation here. We have also introduced this API to our bookingflow, which allows us to block the invalid querys (those querys that does not match with the supplier configuration in the metadata) in order to optimize the traffic.


  • Internal changes. Removed field optionsQuota from optionid.
  • Now the plugin Add Parameter will also be able to replace the parameters that share the same key inside an specific configuration. You can see the documentation here.
  • Internal changes. Now the field market from optionid will contain all the markets related to the option, until now it was only prepared to return a single market.


  • The Board Mapping has been changed into a separated functionality: it has to be explicitly requested in order to indicate HotelX to map the board codes. This also allow you to chose the context in which you want to map the codes.


  • We’ve launched a new plugin called Amenity Map which allows the user to retrive amenities in the hotels service using another context different that supplier context. This functionality differs with other mappings because mapping has to be requested in query fields, not in plugin section. You can see the documentation here.


  • Added new value PAYX to PaymentType enum (search).
  • We’ve launched a new plugin called Virtual Credit Card Generator which adds the possibility to create a virtual credit card at Book step, in order to pay the reservation’s import with it. You can see the documentation here.
    "plugins": {
			"step": "REQUEST",
			"pluginsType": [
					"type": "PRE_STEP",
					"name": "genvcc",
					"parameters": [
							"key": "activationDate",
							"value": "2020-05-22"
							"key": "expirationDate",
							"value": "2020-05-24"


  • We’ve launched a new plugin called Market Group X that allows the user to group the Search result by markets that share the same Options. You can see the documentation here.
    "plugins": [
				"step": "REQUEST_ACCESS",
				"pluginsType": [
						"name": "market_groupX",
						"type": "MARKETS_GROUP"


  • Added new field code into Surcharge.


  • New fields keys in Aggregation Plugin (“binding” and “refundable”). More information about Aggregation Plugin here.
    "plugins": {
        "pluginsType": [
                "type": "AGGREGATION",
                "name": "cheapest_price",
                "parameters": [
                        {"key": "primaryKey","value": "hotel,supplier,room,refundable,binding"}
  • Field hotel in Booking query. Now, this field indicates the locator provided by the hotel (just in case the supplier returns it).
query {
  hotelX {
    booking(criteria: {
    accessCode: "422",
    language: "en",
    references: {
      currency: "EUR",
      hotelCode: "1",
      references: [
          client: "Demo_Client",
          supplier: "HOTELTEST"
     typeSearch: REFERENCES},
			settings: {client:"Demo_Client", testMode: true}) 
      bookings {
        reference {
  • Internal improvements.


  • Added new input supplierCode in hotels query. You can see more details of hotels query in the documentation here.


  • Fix Hotel-List repeated Hotels


  • Add new enum type PaymentCardType which contain list of supported payment card.
  • Add new field type of type PaymentCardType into PaymentCardInput and deprecate old field cardType
  • Type HotelData introduces field RoomConnection (same type as Rooms service operation)
  • Modified RoomData type by adding the new types RoomSource (string) and OccupancyStatic
  • Deprecated description from Bed (search)
  • Deprecated KO in BookStatusType


  • Deprecate type error in Hotel-list, Hotel-Room, Hotel-Board, Hotel-Category
  • Add error filter in Hotel-list, Hotel-Room, Hotel-Board, Hotel-Category
  • Add adviseMessage as new error type
  • Fix Level value in Hotel-list, Hotel-Room, Hotel-Board, Hotel-Category


  • New field in book, cancel and booking respone. booking/reference/hotel.
  • Client token in batch and booking flow.


  • Categories in Hotel-Category are grouped by group.
  • Internal system improvements.


  • New warning type in book. EMPTY_PRICE is returned when the supplier doesn’t return the price and we use the price obtained in quote.


  • New field in book, cancel and booking respone. booking/billingSupplierCode.
  • New blacklist file format. The values has changed to allow new features. You can see the documentation here.
  • New field for the commission file. Now you can put clienToken for each rule. You can see the documentation here.
  • Internal system improvements.


  • New fields in search respone. room/features, room/supplierCode and ratPlan/supplierCode.
  • Security improvements.


  • Added searchPrice in Quote and quotePrice in Book


  • Internal monitorization


  • Fix error when default settings are not available
  • Improve stats


  • Added field filters in Hotel List
  • Deprecate type in GeonameData


  • Added CurrencyX management for the cancel penalties.
  • Bug when the cancel penalty type is empty or invalid format.
  • Mandatory field always returns FALSE when fee is EXCLUSIVE type in Surcharge node.


  • New plugin, add parameter. You can see the documentation here.
  • Management of the default currency settings.


  • Type HotelData introduces new field “GiataData”.
  • Internal, better performant, REST endpoint in Search operation. Field filters have been added to minimize the throughput, this wasn’t necessary with Graphql, filtered fields that have a relation with Legacy API are now also sent as filter.

Expire date of payment card in Book now accept the following format: month: 1 digit or 2 digits, year: 4 digits or 2 digits


  • Fix Hotel List and Hotel Room EOF error, when elastic returns empty result.


  • Fix the error of destinationSearcher when elastic returns empty value.


  • Fix the error of Hotel List and Hotel Room when requesting more than one code.


  • Upgrade permission check in all microservices
  • Environment variable health check
  • Add parameter in Hotel-Quote and Hotel-Book


  • Fix booking timeout issue
  • Added warning if any option has been discarded by CommissionX and CurrencyX plugins


  • Fix filter maxSize Destination
  • Adapt Hotel-Room, Hotel-Board, Hotel-Category to new organization.
  • Added log if commission Fee is -1


  • Ambiguous warning message in Book when supplier has not returned a price
  • Removed error nodes from Groups and Organization nodes
  • Removed log if amount is 0 in Fees node


  • Added geonames in Hotel List
  • Added access code in Book log in some special cases of commission
  • Partially synchronous resource caches in Hotel-Quote, Hotel-Book, Hotel-Cancel, Hotel-Booking


  • Fix Stats
  • Fix Hotels requested stats in Access and Transaction spans in some cases where the count wasn’t correct
  • Margin plugin compares net commission in order to decide discarding or mantaining an option.


  • Fix blacklist (by supplier) plugin


  • Fix price discrepancy between Quote and Book


  • Allow relay at the Query Hotels
  • Count field in HotelConnection to retrieve the number of HotelEdges that match the filter. Pagination does not affect Count.


  • Status tipification to be able to differentiate from critical to non-critical external services
  • Commission and currency rates are now kept unchanged between Quote and Book
  • Operation and Access processes have been updated to register times of their different execution steps and their processed options.
  • Transactions to worker are now monitorized in their own span with supplier’s communication times, parsing times and processed options.


  • Fix apply Markups to net price


  • Fix currency bug inside markups, in Quote and Book


  • Improve reponse time and service


  • Settings heritage. Guide
  • Plugins filter
  • Fix bugs


  • New input field in Hotels Query filter. This allows to filter the response by hotel’s country. GraphQL Schema updated.


  • New plugin, safety margin. You can see the documentation here.


  • Hotel, board, room and rate maps caches are now updated synchronously. This will improve the user’s experience when 1st time debugging operations.
  • Hotel maps cache refactoring to reduce the number of cached items and cached operations.
  • Hotel maps cached requests are now pipelined to reduce Round Trip Time.



  • Improvement of the Rooms Schema with paginated list and max number of elements per page. By default: 1000 rooms.


  • Wrong behaviour that made options to be discarded when price in supplements was empty in Search query.