Change Log

Note that this change log only reflects changes which are either backwards-incompatible, or reveal new fields, resources, and other net additions. Make sure to create an account to keep up with new features that don’t happen to break existing code.



  • Changed Accept-Language locale codes for Simplified Chinese and Traditional Chinese to zh-hans and zh-hant respectively. The old zh-cn and zh-tw codes are still accepted, but support for them might be removed in the future.



  • Exposed amount_pending on bookings, providing the total amount of pending payments and refunds on the booking.


  • List views will now have a ceiling (max) value of 100 items, and a floor (min) value of 10 items. This is affected by changes to how the max_per_page query parameter is interpreted and validated by the GAPI.

    Some examples of the new behaviour follows: * /tour_dossiers?max_per_page=9 will return 10 results * /tour_dossiers?max_per_page=101 will return 100 results * /tour_dossiers?max_per_page=foo will return a 400 Bad Request

    Additionally, the page parameter is also validated on list views with rules similar to those for _max_per_page_. The minimum accepted value for the _page_ query parameter is 1, and invalid values will similarly return with a 400 Bad Request response.

    Please refer to the REST |pagination| section for more details.


  • Multi-language search is enabled for requests that specify non en values in the Accept-Language header. GAPI adds en to the header when not present. List requests against for searchable resources will fallback to en response when no results are found for the primary language specified in the original request.

    e.g. For a request against /countries endpoint with header

    Accept-Language: de, GAPI will append en resulting in the header Accept-Language: de,en. When no results are found against the de data store, we will try to return results from the en data store.



  • Added agency field to the bookings resource.




  • Added preferred_name field to the places resource under /places/{id}/. This field will try to respect the Accept-Language header passed to it and provide the name matching the Language code if it can be found. In the case where no Preferred Name is found, it will default to the value of the name field.


  • Added documentation for overrides, override reasons, and requirements
  • All applicable public promotions are displayed in the promotions list under departures. Prior to this only APPLY_AUTOMATICALLY flagged promos were displayed under departures. We still continue to display best promos first (best meaning largest discount). Small side effect is that the promotions list under departures could have several items not just one like it did historically. In light of this it’s also important to be explicit about applied_promotion when creating departure services to ensure correct promo is applied.


  • Added date_last_modified and date_created to the list of departures under /tours/{id}/departures