tour_id |
The ID of the tour to update Required |
tour_name |
Tour name - Short (Max. 50 characters) |
tour_name_long |
Tour name - Long (Max. 100 characters) |
live_status |
The status for the tour (must be 1/public to be available in the API and to all distributors):
0 - Private, only bookable by staff (Default)
1 - Public, also bookable via hosted TourCMS booking engine |
distribute |
Whether the tour should be distributed via the API & TourCMS Marketplace. Must be 1/distributed to be available in the API and to all distributors:
0 - Not distributed (Default)
1 - Distributed (please note live_status must also be 1 |
requires_subsystem_tickets |
Whether the tour should only be bookable by Distributors capable of displaying subsystem barcodes / tickets on either their voucher, or using the standard TourCMS hosted voucher.
Barcodes / ticket refer:
0 - Can be sold by distributors regardless of whether they display subsystem barcodes or not
1 - Only distributors that display subsystem barcodes can book this tour |
leadin_price_type |
Whether TourCMS should auto calculate a lead in ("from") price for the tour, or use a fixed one.
auto - TourCMS should auto calculate a lead in ("from") price (Default)
manual - TourCMS should display a lead in ("from") price entered manually |
leadin_price_sale |
int/float for a value (in account base currency) to use as a basis for any channels selling base on loaded sale prices (i.e. not cost plus markup). Only stored if leadin_price_type is "manual" |
leadin_price_cost |
int/float for a value (in tour cost currency) to use as a basis for any channels selling base on loaded cost prices (i.e. not those based on sale price). Only stored if leadin_price_type is "manual" |
cost_currency |
The currency for any costs loaded on this tour. 3 digit ISO 4217, e.g. "EUR", "USD". Must be a currency TourCMS supports. Defaults to account currency if not provided. |
delivery_formats |
The format for the delivery option. Can be empty if no formats are included.
XML Node | Notes |
delivery_format |
Add a delivery_format node for each format option. Possible values are: QRCODE: Vouchers are presented as a QR Code. PDF_URL: Vouchers are presented as a PDF url. HTML: Vouchers are presented as html code. CODE128: Vouchers are presented as a Code128 code. |
|
delivery_methods |
How the formats described in deliveryFormats will be delivered in the booking response. Can be empty if no methods are included.
XML Node | Notes |
delivery_method |
Add a delivery_method node for each delivery method. Possible values are: TICKET: Individually per unit in the order (i.e. single ticket for each person) VOUCHER: One ticket for the whole booking. |
|
redemption_method |
How the voucher can be redeemed. Possible values are: MANIFEST: The guest name will be written down and they just need to show up. DIGITAL: The tickets/voucher must be scanned but can be on mobile. PRINT: The tickets/voucher must be printed and presented on arrival. Can be empty if no method is set. |
times_or_codes
|
Whether individual departures will have their own times or not.
c - Codes. Each departure will not have it's own time, times may instead be configured at the tour level (see start_time_default and end_time_default) or not at all.
t - Times. Each departure will have a start and end time provided, i.e. start and end times vary (Default)
|
start_time_default | Default Start time for the Tour.
Must be either "NOTSET" (Default) for tours with no time / when start time varies - OR - 24 hour time value in tour local time (e.g. "09:00"). |
end_time_default | Default End time for the Tour/Hotel.
Possible values as per start_time_default above. |
time_type
|
Purely for display purposes currently, indicates to end users whether the times loaded are tour start and end times, opening hours or entry times with flexible ends.
strict - Tour start and end times (Default)
opening_hours - Opening Hours
strict_start - Entry time with flexible duration
|
start_timezone |
Timezone for start time, otherwise start time assumed to be “local time”. E.g. Europe/London |
end_timezone |
Timezone for end time, otherwise end time assumed to be “local time”. E.g. Europe/London |
quantity_rule | Whether the prices loaded in the system should be multiplied by the quantity booked. For example 2 adults booking a tour with a price of $99 might come to $198 if the quantity_rule is "q" or $99 if the quantity_rule is "1". 1 - price x 1 (for group pricing) q - price x quantity (per person pricing) |
volume_pricing | Whether the prices loaded in the system vary based on the quantity of tickets booked. 0 = Per ticket price does not vary based on quantity 1 = Per ticket price does vary based on quantity. |
tour_code | Tour code. Can be customer facing, e.g. in hosted booking engine. |
subsystem_message | Optionally provide a description of why the tour was updated (i.e. “Updating rate types”) |
supplier_tour_code | The supplier set tour code. This field is ideal if you are syncronising TourCMS with an external reservation system as this could be the external reservation system tour ID. |
from_price_unit | Lead in price unit
0 - per person (default)
1 - per couple
2 - per vehicle
3 - per room
This field is for display purposes only e.g. to show, next to a lead in price, what the price relates to |
priority | HIGH, MEDIUM (Default), LOW - Commercial priority |
display_points | Used for ordering products in some instances, lowest first. Integer, 1 (Default) to 100. |
geocode_start_point |
Information about the starting point of the tour
XML Node | Notes |
geocode | lat,lng geocode point |
label | Text label for the point (e.g. a place or building name) |
google_place_id | A Google Place ID |
google_place_name | The name associated with the Google Place ID |
google_place_address | The address associated with the Google Place ID |
search_term | The search term used to retrive the Google Place ID from Google. Useful in case the Place ID needs to be refreshed in future. |
loc_relation | How the geo point relates to the tour.
0 = No Admission
1 = Admission Granted
2 = Supplementary Add-on |
|
geocode_end_point |
Information about the ending point of the tour
XML Node | Notes |
geocode | lat,lng geocode point |
label | Text label for the point (e.g. a place or building name) |
google_place_id | A Google Place ID |
google_place_name | The name associated with the Google Place ID |
google_place_address | The address associated with the Google Place ID |
search_term | The search term used to retrive the Google Place ID from Google. Useful in case the Place ID needs to be refreshed in future. |
loc_relation | How the geo point relates to the tour.
0 = No Admission
1 = Admission Granted
2 = Supplementary Add-on |
|
geocode_midpoints |
Optionally set some midpoint that the tour visits between the start and end points. Could be showing a tour route map, or in the case of hop on / hop off tours it show bus stops.
XML Node | Notes |
midpoint |
There should be a midpoint node for each midpoint (tour route map, hop on / hop off point etc) on this Tour
XML Node | Notes |
geocode | lat,lng geocode point |
label | Text label for the point (e.g. a place or building name) |
google_place_id | A Google Place ID |
google_place_name | The name associated with the Google Place ID |
google_place_address | The address associated with the Google Place ID |
search_term | The search term used to retrive the Google Place ID from Google. Useful in case the Place ID needs to be refreshed in future. |
loc_relation | How the geo point relates to the tour.
0 = No Admission
1 = Admission Granted
2 = Supplementary Add-on |
can_start_end_here |
Where the customer can start/end the Tour/Itinerary at this point. 0 = No (could just be a tour map calling point) 1 = Yes (could be a hop on / hop off bus stop) |
|
|
pickup_on_request |
1 - Customer can provide a freetext pickup point
0 - Customer cannot provide a freetext pickup point
Regardless of the setting here, there may be a predefined list of available pickup points in the pickup_points node. |
grade |
1 - All ages / Not applicable (Default)
2 - Moderate
3 - Fit
4 - Challenging
5 - Extreme |
accomrating |
1 - No accommodation / Not applicable
2 - Luxury
3 - Moderate
4 - Comfortable
5 - Basic
6 - Various levels |
product_type |
1 - Accommodation (hotel/campsite/villa/ski chalet/lodge)
2 - Transport/Transfer
3 - Tour/cruise including overnight stay
4 - Day tour/trip/activity/attraction (No overnight stay)
5 - Tailor made
6 - Event
7 - Training/education
8 - Other
9 - Restaurant / Meal alternative
In the case of "2" (Transport/Transfer) there can be an attribute on the XML element indicating the direction of travel.
0 - Other / not set
1 - Airport to City
2 - City to Airport
3 - Two way return E.g. for a return transfer <product_type direction="3">2<product_type>
Also an airport code may be provided
E.g. for London Gatwick <product_type direction="3" airport_code="LGW">2<product_type>
|
tourleader_type |
1 - Tour guide / driver
2 - Independent / self drive
3 - Not applicable (e.g. accommodation / event) |
tour_tags |
Additional semi-structured information regarding the tour.
Node | Notes |
tag |
Add a tag node for each tour tag category you wish to store:
Node | Notes |
token |
The token identifier for tag checklist item.
The list may be reduced/extended in future however the current list is:
adults-only animals audio-guide beaches bike-tours boat-tours city-cards classes day-trips family-friendly fast-track food history hop-on-hop-off literature live-music museums nightlife outdoors private-tours romantic small-group-tours sports suitable-for-solo suitable-for-couples suitable-for-children suitable-for-groups suitable-for-students suitable-for-business suitable-for-wheelchairs theme-park walking-tours |
value |
1 / 0 (Default) |
|
|
health_and_safety |
Information regarding enhanced cleaning / health & safety provisions.
Node | Notes |
item |
Add an item node for each health and safety checklist item containing:
Node | Notes |
name |
The identifier for health and safety checklist item.
The list may be reduced/extended in future however the current list is:
face_masks_requied_for_travelers
face_masks_requied_for_guides
face_masks_provided_for_travelers
hand_sanitizer_available
social_distancing_enforced
regularly_sanitized
equipment_sanitized
transportation_vehicles_sanitized
guides_required_to_wash_hands
temperature_checks_for_staff
temperature_checks_for_travelers
contactless_payments_for_extras |
value |
NOTSET (Default) / YES / NO |
|
|
languages_spoken | Languages spoken on the tour. Comma separated list. E.g. "en,pt" for English & Portuguese.
Valid languages are: ca, da, de, el, en, en-au, en-us, es, fi, fr, hr, is, it, jp, ko, nl, no, pt, ro, ru, sl, sv, tr, zh |
location | Primary location - Perhaps a city name, national park name or region. 50 chars. |
summary | Summary - Includes primary activity if not clear from tour name. 650 chars |
country | Countries the tour takes place - 2 digit ISO code format. NB: Currently limited to a single country (although more can be entered via the UI) |
duration_desc | Text description for duration (e.g. 1 week) Free text field edited by tour operator staff users. Human readable but not necessarily consistent across accounts. 150 chars. |
available | Text description for when available (e.g. March to September). 150 Chars |
shortdesc | Short description (NO HTML). 650 Chars. |
longdesc | Long description. Some HTML allowed. 10,000 Chars. |
itinerary | Itinerary. Some HTML allowed. |
exp | Rather than facts, this description should focus on the experience e.g. a wonderful hill walk with great vistas. Some HTML allowed. 650 Chars. |
pick | Hotel pickup instructions. Some HTML allowed. 10,200 Chars. |
redeem | Voucher redemption instructions. Some HTML allowed. 2,200 Chars. |
inc | What's included. Some HTML allowed. 2,200 Chars. |
ex | What's not included. Some HTML allowed. 2,200 Chars. |
essential | Essential information - What to bring, accommodation details, single supplements, solo travellers. Some HTML allowed. 2,200 Chars. |
extras | Extras / upgrades. Some HTML allowed. |
rest | Restrictions - e.g. Pets, minimum age / children permitted, whether requires a preexisting skill etc. Some HTML allowed. 10,200 Chars. |
tour_url |
Required for distribution. URL for the tour detail page. This must return a 200 status page. Either an absolute or relative URL can be provided. |
videos |
A videos node can optionally be provided containing a video node for a video to be associated with a tour.
Node | Notes |
video |
XML Node | Notes |
video_url |
URL for either a YouTube or Vimeo video |
|
|
min_departure_size | The minimum (num people/quantity) required per departure on this tour. A number below which a tour may not be feasible / viable to operate. Uncommonly used but can be configured to alert staff of departures below a certain number, or restrict last minute bookings to be at least this big. Default is 1. |
max_departure_size | The maximum (num people/quantity) allowed per departure on this tour. i.e. the number of spaces on a departure will generally be this values minus the number of passengers already booked |
min_booking_size | The minimum (num people/quantity) required per booking this tour. Individual dates may have a higher minimum booking size, for example last minute dates may require a certain minimum for the tour to depart. 1-250. Default 1. |
max_booking_size | The maximum (num people/quantity) allowed per booking on this tour. Individual dates may have a lower maximum booking size, for example if there are only a few spaces remaining. The spaces remaining on a certain date are returned in the dates and deals API. 1-250. Default 10. |
tour_permit_child_only | Whether child only bookings should be allowed 0 - Don't allow Child only bookings 1 - Allow Child only bookings (Default) |
min_notice_type | Combined with min_notice controls how close to departure TourCMS should stop bookings. i.e. Cutoff
hour - min_notice will be a number of hours before departure
days - min_notice will be a number of days before departure
dayb - min_notice will be a time the day before
samd - min_notice will be a time the same day of departure, often used when times are opening hours and bookings can come in through the day |
min_notice | Combined with min_notice controls how close to departure TourCMS should stop bookings. If min_notice is "hours" or "days" this should be an integer value, if "dayb" or "samd" should be either a 24 hour time e.g. "09:00" or "NOTSET". |
new_booking |
Information to help those building their own booking engine using the API. :
Node | Notes |
people_selection |
Information on the various rates (pricing tiers) offered, including min/max numbers of people
Node | Notes |
rate |
There should be a rate node for each individual pricing tier offered on this Tour containing:
Node | Notes |
rate_id |
Identifier for the rate. r1 to r10. |
label_1 |
Main customer facing descriptor for this rate, e.g. "Adults". May be blank in which case display text such as "Number of people" |
label_2 |
Secondary customer facing descriptor for this rate, e.g. "(16plus)" |
agecat |
Age category (s-senior, a-adult, y-youth, c-child, i-infant). Please note rate 1 is always assumed to be "a" adult/all. |
agerange_min |
The youngest someone can be to book this rate. (Integer, whole years) |
agerange_max |
The oldest someone can be to book this rate (Integer, whole years) |
rate_code |
Additional field for cross sytem mapping. E.g. perhaps the ID for this rate in a supplier subsystem. |
|
|
|
validity |
How long the item is valid for from first use / start date. E.g. 24 hour hop on hop off, 7 day attraction ticket. Please note TourCMS itself does not currently place any restrictions on use, these are currently for display purposes only.
XML Node |
Notes |
validity_type |
For display purposes only. The unit for the validity_value, e.g. “days” for “7 days”, “hours” for “24 hours”. |
validity_value |
Value for validity_type, e.g. “7” for 7 days, “24” for 24 hours. |
|
custom_fields |
You can set the value for the custom fields declared in account settings, custom_fields node should have the following:
XML Node | Notes |
field |
There will be a field node for each custom field, containing:
XML Node | Notes |
name | Custom field name |
value | Value for the custom field |
|
|