Taxonomy Api

TravelSearch 3 - Taxonomy Api

The Taxonomy module is an extension to the Search module, which could help your website's functionality. It provides some bulk information; which could prevent you from requiring many calls during the runtime process.

It also provides some information and content not directly available via the Search interface.

Contents

Usage

The taxonomy module is not meant to be used during runtime service usage, but to be used at regulated time intervals, to fill your site / backend with metadata. This is because it is mostly static data, but also because it is a lot of data. You could make a schedule to refresh your backend twice a day for example.

Every function, in combination with your login and language, is locked out for period of time, after usage. Calling it during this period will result in an error.

Service access

Taxonomy functions are part of the Search service, see the Service communicating in the Api document for more details.

Data freshness

Depending on whether you require the information at all, some information might change more than others. It is recommended to expect that the Service might supply an accommodation or location not provided by the taxonomy, because it just got added.

Functions

getAccommodations

Returns all accommodations known to the current login. It returns this information in a structured location tree, so that for every accommodation, the country, district and place is known.

  • Path: /taxonomy/accommodations
  • Method: GET
  • Returns: Array[TaxonomyCountry]
  • Refresh: Every 4 to 12 hours

getCountries

Returns all Countries known to current login, using the current language.

  • Path: /taxonomy/countries
  • Method: GET
  • Returns: Array[TaxonomyItem]
  • Refresh: Every 4 to 12 hours

getAcccommodationsForCountries

Returns all Accommodation known to current login, using the current language.
This information is structured as a location tree, starting with a list of TaxonomyCountry items. Note only assortment currently distributed to the provided credentials will be available. Only the trees for the given country ids will be loaded.

  • Path: /taxonomy/accommodations/[country_ids]
  • where country_ids is a comma-separated list of country_ids, e.g. /taxonomy/accommodations/28,34
  • Method: GET
  • Returns: Array[TaxonomyCountry]
  • Refresh: Every 4 to 12 hours

getAirports

Returns all airports known to the system, the result is not related to the current assortment.

  • Path: /taxonomy/airports
  • Method: GET
  • Returns: Array[TaxonomyAirport]
  • Refresh: Every 1 to 7 days

getRegions

Returns all regions known to the system, the result is not related to the current assortment.
For every region a list of Country or District items is supplied, these are the items that make up the region.

  • Path: /taxonomy/regions
  • Method: GET
  • Returns: Array[TaxonomyRegion]
  • Refresh: Every 1 to 7 days

getBoardTypes

Returns all board types known to the system, the result is not related to the current assortment.

  • Path: /taxonomy/boardTypes
  • Method: GET
  • Returns: Array[TaxonomyItem]
  • Refresh: Every 1 to 7 days

getAccommodationTypes

Returns all accommodation types known to the system, the result is not related to the current assortment.

  • Path: /taxonomy/accommodationTypes
  • Method: GET
  • Returns: Array[TaxonomyItem]
  • Refresh: Every 1 to 7 days

getTravelTypes

Returns all travel types known to the system, the result is not related to the current assortment.

  • Path: /taxonomy/travelTypes
  • Method: GET
  • Returns: Array[TaxonomyItem]
  • Refresh: Every 1 to 7 days

getCharacteristics

Returns all characteristics known to the system, the result is not related to the current assortment.

  • Path: /taxonomy/characteristics
  • Method: GET
  • Returns: Array[TaxonomyItem]
  • Refresh: Every 1 to 7 days

getTransportTypes

Returns all TransportTypes known to the system. not related to actual assortment.

  • Path: /taxonomy/transportTypes
  • Method: GET
  • Returns: Array[TaxonomyItem]
  • Refresh: Every 1 to 7 days

getCarriers

Returns all carriers known to the system, the result is not related to the current assortment.

  • Path: /taxonomy/carriers
  • Method: GET
  • Returns: Array[TaxonomyLogoItem]
  • Refresh: Every 1 to 7 days

getTourOperators

Returns all touroperators, available to the current user.

  • Path: /taxonomy/tourOperators
  • Method: GET
  • Returns: Array[TaxonomyLogoItem]
  • Refresh: Every 4 to 12 hours

getAccommmodationProviders

Returns all accommmodation providers, available to the current user.

  • Path: /taxonomy/accommodationProviders
  • Method: GET
  • Returns: Array[TaxonomyLogoItem]
  • Refresh: Every 4 to 12 hours

getTransportProviders

Returns all transport providers, available to the current user.

  • Path: /taxonomy/transportProviders
  • Method: GET
  • Returns: Array[TaxonomyLogoItem]
  • Refresh: Every 4 to 12 hours

Objects

This section describes every object and its contents.

TaxonomyCountry

Describes a country, it includes an array of districts.

  • name string
  • value string
  • districts Array[TaxonomyDistrict]

TaxonomyDistrict

Describes a district, it includes an array of places.

  • name string
  • value string
  • places Array[TaxonomyPlace]

TaxonomyPlace

Describes a place, it includes an array of accommodations.

  • name string
  • value string
  • accommodations Array[TaxonomyAccommodation]

TaxonomyAccommodation

Describes a country, it includes an array of districts.

  • name string (Tour-operator/Provider given name)
  • value string (unique system id)
  • osiCode string (Qenner unifying id)
  • osiName string (Qenner unifying name)
  • providerCode string (Code of provider of this specific accomodation)
  • providerName string (Name of provider of this specific accomodation)

TaxonomyAirport

Describes an airport.

  • name string
  • value string
  • place string
  • placeName string
  • district string
  • districtName string
  • country string
  • countryName string
  • gpsLocation string (nullable)
  • timeZone string (nullable)

TaxonomyItem

Describes a single name / value item.

  • name string
  • value string

TaxonomyLogoItem

Describes a single name / value item with a logo url.

  • name string
  • value string
  • logo logo

A note about logo's

Carrier logo's are in the fixed 128x128 PNG format.
Touroperator and provider logo's are in the 384x128 PNG format.

Qenner Dynamic name and logo.

The dynamic assortment is offered by the TourOperator 'QD', this defaults to Qenner Dynamic. Every login can however define their own name and logo. This causes the logo item and name in the taxonomy call the be different for the QD touroperator between different accounts.