TourCMS, a leading online booking and channel management solution is operated by Palisis.

Contact Info

Palisis AG
Florastrasse 18A
8610 Uster
support@palisis.com
+41 44 533 40 40

Follow Us

home > support > API > Marketplace API > API: tour information

Show Tour

Return full information about a specific Tour.

Caching

If you are calling the API directly from your website (i.e. rather than populating your own database with tour data) we would recommend caching this API for around an hour. This helps you keep within API limits and to keep your site running fast. More on API caching.

REST info

Call/c/tour/show
FormatsXML
Example/c/tour/show.xml?id=92
VerbGET

Code

PHP examples use the PHP Client Library with SimpleXML

Description

object show_tour ( int $tour, int $channel [ , string $querystring = "" ] )


Parameters

$tour
ID for the Tour
$channel
ID for the Channel (Operator) - required as Tour IDs are not unique
$querystring
See table below


Example

// ID for the Tour we want the details for
$tour = 152;

// Channel (Operator) ID of the Tour
$channel = 6;

// Query the TourCMS API
$result = $tourcms->show_tour($tour, $channel);

// Go straight to the tour node
$tour = $result->tour;

// Print out the tour name and lead in price
print $tour->tour_name.' - from only '.$tour->from_price_display;
Nile Family Adventure - from only £650

C# examples use the .Net Client Library

Overload list

XmlDocument ShowTour (int tourId, int channelId)
XmlDocument ShowTour (int tourId, int channelId, string queryString)


Parameters

tourId
ID for the Tour
channelId
ID for the Channel (Operator) - required as Tour IDs are not unique
queryString
See table below


Example

// ID for the Tour we want the details for
int tourId = 152;

// Channel (Operator) ID of the Tour
int channelId = 6;

// Query the TourCMS API
XmlDocument doc = myTourCMS.ShowTour(tourId, channeId);

// Display the tour name and lead in price
string tourName = doc.SelectSingleNode("//tour/tour_name").innerText;
string tourPrice =
			doc.SelectSingleNode("//tour/from_price_display").innerText;

Console.WriteLine(tourName + " - from only " + tourPrice);
Nile Family Adventure - from only £650

VB examples use the .Net Client Library

Overload list

XmlDocument ShowTour (Integer TourId, Integer ChannelId)
XmlDocument ShowTour (Integer TourId, Integer ChannelId, String QueryString)


Parameters

TourId
ID for the Tour
ChannelId
ID for the Channel (Operator) - required as Tour IDs are not unique
QueryString
See table below


Example

' ID for the Tour we want the details for
Dim tourId As Integer = 152

' Channel (Operator) ID of the Tour
Dim channelId As Integer = 6

' Query the TourCMS API
Dim doc As XmlDocument = myTourCMS.ShowTour(tourId, channeId)

' Display the tour name and lead in price
Dim tourName As String = doc.SelectSingleNode("//tour/tour_name").innerText
Dim tourPrice As String =
		doc.SelectSingleNode("//tour/from_price_display").innerText

Console.WriteLine(tourName & " - from only " & tourPrice)
Nile Family Adventure - from only £650

NodeJS examples use the NodeJS Wrapper


Example

// Show Tour with ID 1 on Channel 3930
TourCMS.showTour({
channelId: 3930,
  tourId: 1,
  callback: function(response) {
    console.log(response.tour.tour_name_long);
  }
});
Knoydart Peninsula Walking Adventure

Looking for sample code in a different language? TourCMS and community provided API libraries

Implementing yourself? Check the REST info for this endpoint.

Try it

Enter your TourCMS API credentials below to call the Show Tour endpoint.


            
            


Querystring parameters

Querystring parameters
ParameterNotes
idTour ID. If using a wrapper library this will be passed as a separate argument.
show_optionsSet to 1 if you would like TourCMS to return information on the Options (ancillary items / upgrades) available for booking via the API on this Tour
show_offers Set to 1 if you would like TourCMS to return information on the soonest and most recently loaded special offer for this tour (if any), essentially the same data as returned for each tour in Tour Search API. A full list of offers for a particular tour can be obtained via the Dates and deals API.

Also returns a <from_price_cached> node which matches the value of <from_price> returned in the Search Tours Endpoint, as they can vary due to search results caching when exchange rates are updated.
orderAny alternative tours returned (see alternative_tours section below) can be ordered using the same values as the Tour Search API
show_questions Set to 1 if you would like TourCMS to return the questions. Only active questions will be returned.


The Channel ID is also passed via the request header, this is required as Tour IDs are unique within a particular channel (Operator) rather than being unique system wide.

Response fields

Response fields
NodeNotes
request Confirmation of the request that you sent
error Any error message returned, if there is no error this will just contain the text OK
tour

The tour node contains the following child nodes.

NodeNotes
channel_idChannel ID
account_idAccount ID
tour_idTour ID
tour_name Tour name - Short (Max. 50 characters)
tour_name_long Tour name - Long (Max. 100 characters)
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_timeStart time for the Tour
 
May be a 24 hour time value in local time (e.g. "09:00").
 
If there are multiple start times per day or the start time varies by day then the value will be "MULTI"
end_timeEnd time for the Tour/Hotel.
 
Possible values as per start_time above.
account_timezon Timezone of the account
start_timezone Timezone for start time (if set by operator) otherwise start time assumed to be “local time”.

Will be “NOTSET” if the operator has not configured a timezone.
end_timezone Timezone for end time (if set by operator) otherwise end time assumed to be “local time”.

Will be “NOTSET” if the operator has not configured a timezone.
has_sale1 - Future product on sale
0 - No future product on sale
has_d1 - Has a tour departure loaded
0 - No tour departure loaded
has_f1 - Has a tour freesale loaded
0 - No tour freesale loaded
has_h1 - Has a hotel product type loaded
0 - No hotel product type loaded
created_dateWhen the tour was created, date format YYYY-MM-DD
descriptions_last_updatedWhen the tour text descriptions were last updated, date format YYYY-MM-DD
next_bookable_dateFirst date the tour is bookable, date format YYYY-MM-DD
last_bookable_dateLast date the tour is bookable, date format YYYY-MM-DD
has_sale_jan
has_sale_feb
has_sale_mar
has_sale_apr
has_sale_may
has_sale_jun
has_sale_jul
has_sale_aug
has_sale_sep
has_sale_oct
has_sale_nov
has_sale_dec
1 - Future product on sale (by the month)
0 - No future product on sale (by the month
quantity_ruleWhether the prices loaded in the system are 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". Generally speaking you don't need to worry about this as you will be given the full calculated price for the group when you call Check availability.
 
1 - price x 1 (for group pricing)
q - price x quantity (per person pricing)
volume_pricingWhether 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_permit_child_onlyWhether tour accepts child only bookings.
 
0 = No child only bookings allowed
1 = Child only bookings allowed
tour_codeTour code (only returned if set)
from_priceLead in price
from_price_cached A from price that matches that returned in the Search Tours endpoint. Useful as due to Search Tours cache <the from_price> can vary between “Search” and “Show” if exchange rates are changed, until such time as the search cache is refreshed.

Using <from_price_cached> from "Show Tour" ensures search results and tour details always match.

Only returned if show_offers=1 parameter is passed, and if the tour is available in the tour search cache.
from_price_displayLead in price - display version (Includes HTML entity currency code and no decimals)
from_price_jan
from_price_feb
from_price_mar
from_price_apr
from_price_may
from_price_jun
from_price_jul
from_price_aug
from_price_sep
from_price_oct
from_price_nov
from_price_dec
Lead in price by the month
Use to create a nice seasonal price chart

There are also _display versions that work the same way as from_price_display
from_price_unitLead 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
sale_currencySale currency (for the lead in price). Currency is set by channel
priorityHIGH, MEDIUM, LOW - Commercial priority
addressPostal address
geocode_startLat,Long geocode for start point (Deprecated, check <geocode_start_point> instead)
geocode_endLat,Long geocode for start point (Deprecated, check <geocode_end_point> instead)
geocode_start_point

Information about the starting point of the tour

XML NodeNotes
geocodelat,lng geocode point
labelText label for the point (e.g. a place or building name)
google_place_idA Google Place ID
loc_relationHow 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 NodeNotes
geocodelat,lng geocode point
labelText label for the point (e.g. a place or building name)
google_place_idA Google Place ID
loc_relationHow the geo point relates to the tour.
 
0 = No Admission
1 = Admission Granted
2 = Supplementary Add-on
geocode_midpoints

If any midpoints are configured then an geocode_midpoints node will be returned. Could be showing a tour route map, or in the case of hop on / hop off tours it show bus stops. Contains:

XML NodeNotes
midpoint

There will be a midpoint node for each midpoint (tour route map, hop on / hop off point etc) on this Tour

XML NodeNotes
geocodelat,lng geocode point
labelText label for the point (e.g. a place or building name)
google_place_idA Google Place ID
loc_relationHow 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)
geo_order Numerical order the midpoint appears within the tour, lowest numbers first. Unless managing geo points via API you should not need this value as midpoints are returned in order.
pickup_on_request

Who can provide freetext pickup information.

0 - Nobody can provide

1 - Anyone can provide

2 - Only staff can provide

To see if you can provide, check to see if there is a <pickup_on_request_key>

Regardless of the setting here, there may be a predefined list of available pickup points in the pickup_points node.

pickup_on_request_key If this tour supports pickups on request, this will contain the key to provide to Start New Booking to select pickup on request. Also returned as part of Check Availability.
pickup_points

If any pickup points are configured then a pickup_points node will be returned containing:

XML NodeNotes
pickup

A pickup node for each pickup point for this Tour (ordered by pickup_name) containing the items listed below.
 
Please note that this is an overall list of the pickup points available on the tour.
 
As the list of pickup points offered and the times of those pickups can vary by departure the actual selection including any times can be presented to the customer when they check availability for a specific date.

XML NodeNotes
pickup_nameText name for the point (e.g. a hotel or bus stop)
 
This is the only mandatory field.
description Any extra information for the client, e.g. "Meet in the reception lounge"
address1 First line of the address
address2 Second line of the address
postcode Postcode
geocode Lat,Lng geographic point
delivery_formats

The format for the delivery option. Can be empty if no formats are included.

XML NodeNotes
delivery_format For each delivery format present on the response, a delivery_format node will be returned. Possible values are:

QR_CODE: 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 NodeNotes
delivery_method For each delivery method present on the response, a delivery_method node will be returned. Possible values are:

TICKET: Individually per unit in the order (i.e. single ticket for each person)

TOUR: One ticket for each tour

BOOKING: 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.

documents

If any documents are uploaded then a documents node will be returned containing:

XML NodeNotes
document

A document node for each document for this Tour, containing:

XML NodeNotes
document_descriptionDescription for an uploaded document related to the Tour.
E.g. could be "Route map" or "Transfer Zones".
document_urlURL for an uploaded document
grade 1 - All ages / Not applicable
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 will 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 there may be an airport code
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)
suitable_for_soloTour is suitable for solo travellers (1 - Yes, 0 - No). Deprecated, also available as <tour_tags>
suitable_for_couplesTour is suitable for couples (1 - Yes, 0 - No). Deprecated, also available as <tour_tags>
suitable_for_childrenTour is suitable for children (1 - Yes, 0 - No). Deprecated, also available as <tour_tags>
suitable_for_groupsTour is suitable for groups (1 - Yes, 0 - No). Deprecated, also available as <tour_tags>
suitable_for_studentsTour is suitable for students (1 - Yes, 0 - No). Deprecated, also available as <tour_tags>
suitable_for_businessTour is suitable as a business trip extension for business travellers (1 - Yes, 0 - No). Deprecated, also available as <tour_tags>
suitable_for_wheelchairsTour is suitable for wheelchair users (1 - Yes, 0 - No). Deprecated, also available as <tour_tags>
tour_tags

Additional semi-structured information regarding the tour.

NodeNotes
tag

A tag node for each tour tag category item which contains:

NodeNotes
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
entrance-ticket
family-friendly
fast-track
food
history
hop-on-hop-off
literature
live-music
museums
nightlife
official-ticket
operator-direct-product
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
transfer
theme-park
walking-tours
text Human readable description/explanation for the tag. Currently English only. If there is some exclusive details, will be added here., channel-language translation where available. For example:
 
Activity is suitable for adults only. Tag exclusive with family-friendly
value 1 / 0
health_and_safety

Information regarding enhanced cleaning / health & safety provisions.

NodeNotes
item

An item node for each health and safety checklist item which contains:

NodeNotes
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
display_name Human readable, channel-language translation where available. For example:
 
Face masks required for travelers
value NOTSET / YES / NO
distribution_identifierUnique tour identifier used to distribute tour
questions

If any questions are configured then a questions node will be returned containing:

XML Node Notes
q

There will be an q node for each question configured on the Tour

XML NodeNotes
questionThe primary question text to display to the customer, e.g. Please provide the approximate weights for each member of your party in kilograms (Kg)
explanationAdditional explanation text for the question, perhaps detailing why it is being requested or how it will be used
placeholderPlaceholder text, usually an example of the type of input required
question_internalA shortened label for the text, largely intended for staff use, e.g. Weight (kg)
answer_typeAn indication of the type of input expected, e.g. 'text', 'number', 'date' (and possibly more in future). Note that as far as the API goes this a suggestion only, TourCMS does not validate that the correct type of data is provided in an answer.
answer_mandatoryWhether the answer is mandatory (required). Note that as far as the API goes this is a suggestion only, TourCMS allows mandatory questions to be omitted or left unanswered
languages_spokenLanguages spoken on the tour. Comma separated list. E.g. "en,pt" for English & Portuguese. Quite likely to be blank on many tours at the moment as this is a relatively new field.
ratings

Information regarding customer reviews / ratings of this tour

NodeNotes
average Average rating (out of <max>)
count How many ratings have been submitted for this tour
max Maximum possible rating, (i.e. <average> can be less than or equal to this)
platform The rating platform used to host the ratings, e.g. feefo
locationPrimary location - Perhaps a city name, national park name or region
summarySummary - Includes primary activity if not clear from tour name
countryList of countries the tour takes place - 2 digit ISO code format, comma separated. The order is NOT the order the tour goes to the listed countries
durationDuration (Days)
 
Automatically calculated based on the dates and prices loaded
duration_descText description for duration (e.g. 1 week)
 
Free text field edited by tour operator staff users. Human readable but not necessarily consistent across accounts.
availableText description for when available (e.g. March to September)
shortdescShort description (NO HTML)
longdescLong description
itineraryItinerary
expRather than facts, this description should focus on the experience e.g. a wonderful hill walk with great vistas
pickHotel pickup instructions
redeemVoucher redemption instructions
incIncluded
exExcluded
essentialEssential information - What to bring, accommodation details, single supplements, solo travellers
extrasExtras / upgrades
restRestrictions - e.g. Pets, minimum age / children permitted, whether requires a preexisting skill etc
tour_urlURL for the tour detail page
tour_url_trackedURL for the tour detail page - via agent tracking mechanism
Not returned for /c/tours/search
book_urlURL to booking engine / live availability display (can be iframed onto your site)
 
It is possible to disable the standard booking engine, so on some accounts this may be blank.
images

The images node will contain between 1 and 6 image nodes.

NodeNotes
image

The first image node will contain a thumbnail attribute with the value true, this indicates that it is the image that would likely have been used if the Tour was viewed in a list along side other Tours; to maintain consistency you may wish to ensure this image is displayed first / most prominently.

Each image node contains a url node and image_desc node, it may also contain other url_ nodes for alternative image sizes, as detailed below. The default url is the only size that is guaranteed, other sizes will be returned if the original uploaded image was sufficiently large.

NodeNotes
url_thumbnail URL (web address) for thumbnail image size (max 342 pixels wide)
url URL (web address) for the default image size (max 800 pixels wide)
url_large URL (web address) for large image size (max 1500 pixels wide)
url_xlarge URL (web address) for extra large image size (max 1920 pixels wide)
image_desc Description / caption for image
videos

The videos node will contain a video node for any videos that are associated with the tour (currently only 1 video can be associated with each tour).

NodeNotes
video

There will be a video node for each video associated with the tour, containing:

XML NodeNotes
video_service Video service used to host the video. Currently will be either vimeo or youtube.
 
If embedding use this combined with the video_id to determine if/how to embed the video. Or use this handy PHP script.
video_id Service-specific ID for the video (if any)
video_url URL to a web page containing the video
min_booking_sizeThe 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.
max_booking_sizeThe 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.
new_booking

Information to help those building their own booking engine using the API. Includes data that might be useful if designing a booking form:

NodeNotes
people_selection

Information on the various rates (pricing tiers) offered, including min/max numbers of people

NodeNotes
rate

There will be a rate node for each individual pricing tier offered on this Tour containing:

NodeNotes
rate_id Identifier for the rate
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)"
minimum Minimum number of people per booking on this rate
maximum Maximum number of people per booking on this rate
agecat Age category (s-senior, a-adult, y-youth, c-child, i-infant)
agerange_min
agerange_max
Years. If blank, first check agecat, secondly assume is adult
from_price Lead in price for the rate
from_price_display Display version of the lead in price, includes currency information
rate_code Tour operators only. Additional field for cross sytem mapping
date_selection

Information on how dates & durations are calculated for this Tour, useful for determining how to present date / duration selection.

NodeNotes
date_type - DATE
Tour type availability
 
- DATE_DAYS
Hotel type availability, duration in days
 
- DATE_NIGHTS
Hotel type availability, duration in days
duration_minimum The minimum duration that must be booked for this Tour. Only shows if date_type is either DATE_DAYS or DATE_NIGHTS.
duration_maximum The maximum duration that must be booked for this Tour. Only shows if date_type is either DATE_DAYS or DATE_NIGHTS.
required_fields

Required fields for customers/bookings, often combined with named tickets.

XML NodeNotes
field

Each required field.

XML NodeNotes
nameName of the required field. Can be: “firstname”, “surname”, “email”, “address” and “phone”.
scopeScope of the required field. Can be: “allpax”, “leadpax”, “otherpax”.
requireWhether it is required or if we should reject it. Can be: “required”, “reject”.
additional_criteria

Additional criteria.

XML NodeNotes
criteria

Each criteria.

XML NodeNotes
nameCriteria name, e.g. named_tickets
tour_departure_structure

Information of the mapping structure for the departure

XML NodeNotes
type How departures are structured in the tour. There could be the following values:

NOTSET - No structure defined
SINGLE - One departure per day
START_TIME - Departure structured based on start time
SUPPLIER_NOTE - Departure structured based on supplier note
DEPARTURE_CODE - Departure structured based on departure code
SUPPLIER_NOTE_PLUS_START_TIME - Departure structured based on supplier note + start time
add_new_auto If new mappings found when refresing are added auto as active mappings (Only if there is a tour departure structure defined)

1 - New mapping values will be added automatically as active when refreshing
0 - New mapping values will not be added automatically as active when refreshing
departure_types

Array of mapping values for tour departure structured which contains a mapping field and a mapping value (Only if there is a tour departure structure defined)

XML Node Notes
type

A mapping child which contains the fields to identify a unique departure

XML Node
active Dependeing on whether the departure mapping is active or not, it can be:

1 - Active
0 - Inactive
partial It's 0 for all mappings except for SUPPLIER_NOTE_PLUS_START_TIME. It's 1 if the mapping starts with Note, and if it ends with it, it's -1
label Label of the departures that match with such mapping
fields

An array node which contains the fields to identify a unique departure

XML Node
field
XML Node
name Name of the mapped field
value Value of the mapped field
alternative_tours

Tours from the same Channel that the Operator has indicated as alternatives to the main Tour being shown (if any exist - max 10).

NodeNotes
tour

There will be a tour node for each alternative tour returned (max 10), containing:

NodeNotes
tour_id Tour ID
tour_name Tour name - Short
(Max. 50 characters)
tour_name_long Tour name - Long
(Max. 100 characters)
tour_code Tour code (only returned if set)
location Primary location - Perhaps a city name, national park name or region
tour_urlURL for the tour detail page
tour_url_trackedURL for the tour detail page - via agent tracking mechanism
Not returned for /c/tours/search
book_urlURL to booking engine / live availability display (can be iframed onto your site)
from_priceLead in price
from_price_displayLead in price - display version (Includes HTML entity currency code and no decimals)
thumbnail_imageURL for thumbnail image. Will be based on the first image for the Tour, resized to maximum 342 pixels wide.
product_type Product type (see notes above for field explanation)
options

NB: Options are only returned if show_options=1 is passed to this API method (see "Querystring parameters" above)
 
If any options (ancillary items) are configured then an options node will be returned containing:

XML NodeNotes
option

There will be an option node for each option configured on the Tour matching the following criteria:
- Set to "Public"
- Don't require any "Answers"
- Not mandatory / must include, options
- Must have a future bookable date on sale

XML NodeNotes
option_idOption ID
option_nameOption name
short_descriptionShort description (HTML tags removed)
from_price Lead in price for the Option
from_price_display Display version of the lead in price, includes currency information
group ID number for the group that the Option belongs to (see below)
group_title Title for the group that the Option belongs to. E.g. "General", "Attractions", "Upgrades"
soonest_special_offer

NB: Special offers are only returned if show_offers=1 is passed to this API method (see "Querystring parameters" above)
 
If any special offers / deals are loaded for this Tour then a soonest_special_offer node will be returned containing the soonest (i.e. closest to start/departure date) special offer via the below child nodes. If you are ordering the results by offer_soonest then this is probably the offer you want to display.

XML NodeNotes
start_dateStart date for this date
end_dateEnd date for this date
start_timeStart time for the Tour on this particular offer in 24 hour local time format (e.g. "09:00").
 
If the start time is not known or is irrelevant for the item type then this field will be blank
end_timeEnd time for the Tour on this particular offer in 24 hour local time format (e.g. "17:00").
 
If the start time is not known or is irrelevant for the item type then this field will be blank
start_time_utcseconds Tour start time in UTC seconds if a timezone and times are configured by the operator.
end_time_utcseconds Tour end time in UTC seconds if a timezone and times are configured by the operator.
date_codeThis is the "Departure code" from a Tour Operators perspective, may be empty
noteProduct note
min_booking_sizeMinimum number of people required per booking, e.g. 1
spaces_remainingNumber of people that can still book for this date. Generally numeric however could contain the text UNLIMITED
special_offer_typeType of special offer / deal on this date
 
1 - Date specific special price
2 - Late booking discount
3 - Early booking discount
4 - Duration specific discount
price_1Price for 1 person. E.g 100.00
price_1_displayDisplay version of the price for 1 person including currency symbol / code. E.g €100.00
price_2Price for 2 people. E.g. 180.00 (It can often be cheaper and so preferable to show a per person price based on the price for 2 people sharing).
price_2_displayDisplay version of the price for 2 people including currency symbol / code. E.g €180.00 (It can often be cheaper and so preferable to show a per person price based on the price for 2 people sharing).
special_offer_datetimeDate and tine the special offer was created. Format YYYY-MM-DD HH:MM:SS
special_offer_noteText note on the special offer, e.g. "20% off early bookings"
original_price_1The original price for 1 person (before the discount was applied). E.g. 120.00
original_price_1_displayDisplay version of the original price for 1 person (before the discount was applied). Includes currency symbol / code. E.g. €120.00
original_price_2The original price for 2 people (before the discount was applied). E.g. 200.00
original_price_2_displayDisplay version of the original price for 2 people (before the discount was applied). Includes currency symbol / code. E.g. €200.00
recent_special_offer

NB: Special offers are only returned if show_offers=1 is passed to this API method (see "Querystring parameters" above)
 
If any special offers / deals are loaded for this Tour then a recent_special_offer node will be returned featuring the most recently created special offer via the below child nodes. If you are ordering the results by offer_recent then this is probably the offer you want to display.

XML NodeNotes
start_dateStart date for this date
end_dateEnd date for this date
start_timeStart time for the Tour on this particular offer in 24 hour local time format (e.g. "09:00").
 
If the start time is not known or is irrelevant for the item type then this field will be blank
end_timeEnd time for the Tour on this particular offer in 24 hour local time format (e.g. "17:00").
 
If the start time is not known or is irrelevant for the item type then this field will be blank
start_time_utcseconds Tour start time in UTC seconds if a timezone and times are configured by the operator.
end_time_utcseconds Tour end time in UTC seconds if a timezone and times are configured by the operator.
date_codeThis is the "Departure code" from a Tour Operators perspective, may be empty
noteProduct note
min_booking_sizeMinimum number of people required per booking, e.g. 1
spaces_remainingNumber of people that can still book for this date. Generally numeric however could contain the text UNLIMITED
special_offer_typeType of special offer / deal on this date
 
1 - Date specific special price
2 - Late booking discount
3 - Early booking discount
4 - Duration specific discount
price_1Price for 1 person. E.g 100.00
price_1_displayDisplay version of the price for 1 person including currency symbol / code. E.g €100.00
price_2Price for 2 people. E.g. 180.00 (It can often be cheaper and so preferable to show a per person price based on the price for 2 people sharing).
price_2_displayDisplay version of the price for 2 people including currency symbol / code. E.g €180.00 (It can often be cheaper and so preferable to show a per person price based on the price for 2 people sharing).
special_offer_datetimeDate and tine the special offer was created. Format YYYY-MM-DD HH:MM:SS
special_offer_noteText note on the special offer, e.g. "20% off early bookings"
original_price_1The original price for 1 person (before the discount was applied). E.g. 120.00
original_price_1_displayDisplay version of the original price for 1 person (before the discount was applied). Includes currency symbol / code. E.g. €120.00
original_price_2The original price for 2 people (before the discount was applied). E.g. 200.00
original_price_2_displayDisplay version of the original price for 2 people (before the discount was applied). Includes currency symbol / code. E.g. €200.00
validity

For display purposes only. How long the item is valid for from first use / start date. E.g. 24 hour hop on hop off, 7 day attraction ticket.

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.
validity_minutes The validity type and value expressed in minutes.
If API called by Tour Operator (not Marketplace Agent)
supplier_idThe internal reference number for the supplier
supplier_tour_codeThe 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.
cost_currencyCurrency of the cost price.
staff_noteStaff notes
operational_noteDefault operational instructions
markup_type_idTour Markup type ID
cutoff

The cutoff rules that determine when TourCMS will block bookings for a certain date/time. E.g. A tour may take bookings up to 30 minutes before departure, or a hop on hop off service may sell tickets until an hour before closing.
 
TourCMS applies these rules by automatically blocking bookings, however they are provided here for optional display purposes.

XML NodeNotes
type The type of cutoff rule in place. There are three possible types currently, more may be added over time:
 
before_start_sec The value node will be the number of seconds before the tour start time (if one is set, otherwise the seconds before midnight on the dawn of the tour)
 
day_before_time The value node will be a set time during the day before the tour starts
 
same_day_time The value node will be a set time during the same day as the tour starts. Note: It could be a time after a start_time, particularly common for tours where the start_time represents opening hours rather than a set departure time
value Currently either a number of seconds (e.g. 3600) or a four digit 24 hour time (e.g. 08:00) depending on the setting described in the type node.
cancellation_policy

Cancellation policies indicate up until how close to departure the tour can be cancelled, expressed as a number of days/hours/minutes. Currently a maximum of one policy will be returned.

XML NodeNotes
policy

There will be a policy node for each cancellation policy, containing:

XML NodeNotes
idID of cancellation policy
nameCancellation policy name
typeType of cancellation policy, it could be days(d), hours(h) or minutes(m)
valueValue for cancellation policy. Numeric
subsystem

If any subsystem is configured then a subsystem node will be returned containing the following:

XML NodeNotes
update 1 if subsystem is allowed to update tour.
notify 1 if subsystem receives a notification when tour changes.
custom_fields

If any custom fields are configured then a custom_fields node will be returned containing the following:

XML NodeNotes
field

There will be a field node for each custom field, containing:

XML NodeNotes
nameCustom field name
valueValue for the custom field
categories

If any categories are configured then a categories node will be returned containing the following:

XML NodeNotes
group

There will be a group node for each grouping of values (e.g. "Activity type") containing:

XML NodeNotes
nameThe name for the group, e.g. "Activity type"
values

A values node containing:

XML NodeNotes
valueA value node for each value selected for this tour. For example "Rafting" or "Hiking".
fixed_sale_prices

If “Fixed sale prices” (the ability to override cost plus markup using fixed sale prices) is enabled for the account, and if this tour has “Default fixed sale prices for new departures” configured, a node will be returned indicating the prices that should be used when creating new departures via API.
 
Note: This is advanced non standard functionality that is not enabled by default.\

XML NodeNotes
rate_or_quantity For regular tours this will be the rate ID. For quantity tours this will be the number of people
price The configured sale price to use for new departures.
 
Could be blank indicating the user has not provided a default.
offer_price For regular (non quantity based tours) on accounts where special offers are price based Rate 1 will have an offer_price indicating the offer price that should be used for new departures.
 
Could be blank indicating the user has not provided a default.

Example response

<?xml version="1.0" encoding="UTF-8"?>
<response>
   <request>GET /c/tour/show.xml?id=1</request>
   <error>OK</error>
   <tour>
      <channel_id>3930</channel_id>
      <account_id>4069</account_id>
      <tour_id>1</tour_id>
      <tour_name>Half day rafting</tour_name>
      <tour_name_long>Half day rafting</tour_name_long>
      <tour_code>HDR</tour_code>
      <time_type>strict_start</time_type>
      <start_time>MULTI</start_time>
      <end_time>MULTI</end_time>
      <start_timezone>Europe/London</start_timezone>
      <end_timezone>Europe/London</end_timezone>
      <quantity_rule>Q</quantity_rule>
      <from_price>50.00</from_price>
      <from_price_display>&amp;#163;50</from_price_display>
      <from_price_unit>0</from_price_unit>
      <sale_currency>GBP</sale_currency>
      <has_sale>1</has_sale>
      <has_d>1</has_d>
      <has_f>0</has_f>
      <has_h>0</has_h>
      <created_date>2011-09-09</created_date>
      <descriptions_last_updated>2018-02-10</descriptions_last_updated>
      <volume_pricing>0</volume_pricing>
      <supplier_id>2</supplier_id>
      <supplier_tour_code>ABC</supplier_tour_code>
      <cost_currency>USD</cost_currency>
      <staff_note />
      <operational_note />
      <cutoff>
         <type>before_start_sec</type>
         <value>86400</value>
      </cutoff>
      <min_booking_size>1</min_booking_size>
      <max_booking_size>10</max_booking_size>
      <next_bookable_date>2021-08-10</next_bookable_date>
      <last_bookable_date>2025-10-27</last_bookable_date>
      <has_sale_jan>1</has_sale_jan>
      <has_sale_feb>1</has_sale_feb>
      <has_sale_mar>1</has_sale_mar>
      <has_sale_apr>1</has_sale_apr>
      <has_sale_may>1</has_sale_may>
      <has_sale_jun>1</has_sale_jun>
      <has_sale_jul>0</has_sale_jul>
      <has_sale_aug>1</has_sale_aug>
      <has_sale_sep>1</has_sale_sep>
      <has_sale_oct>1</has_sale_oct>
      <has_sale_nov>1</has_sale_nov>
      <has_sale_dec>1</has_sale_dec>
      <from_price_jan>50.00</from_price_jan>
      <from_price_jan_display>&amp;#163;50</from_price_jan_display>
      <from_price_feb>50.00</from_price_feb>
      <from_price_feb_display>&amp;#163;50</from_price_feb_display>
      <from_price_mar>50.00</from_price_mar>
      <from_price_mar_display>&amp;#163;50</from_price_mar_display>
      <from_price_apr>50.00</from_price_apr>
      <from_price_apr_display>&amp;#163;50</from_price_apr_display>
      <from_price_may>50.00</from_price_may>
      <from_price_may_display>&amp;#163;50</from_price_may_display>
      <from_price_jun>50.00</from_price_jun>
      <from_price_jun_display>&amp;#163;50</from_price_jun_display>
      <from_price_jul>0.00</from_price_jul>
      <from_price_jul_display>&amp;#163;0</from_price_jul_display>
      <from_price_aug>50.00</from_price_aug>
      <from_price_aug_display>&amp;#163;50</from_price_aug_display>
      <from_price_sep>50.00</from_price_sep>
      <from_price_sep_display>&amp;#163;50</from_price_sep_display>
      <from_price_oct>50.00</from_price_oct>
      <from_price_oct_display>&amp;#163;50</from_price_oct_display>
      <from_price_nov>50.00</from_price_nov>
      <from_price_nov_display>&amp;#163;50</from_price_nov_display>
      <from_price_dec>50.00</from_price_dec>
      <from_price_dec_display>&amp;#163;50</from_price_dec_display>
      <priority>MEDIUM</priority>
      <country>GB</country>
      <languages_spoken>en,fr,pt</languages_spoken>
	  <ratings>
		<average>4.25</average>
		<count>190</count>
		<max>5</max>
		<platform>feefo</platform>
	  </ratings>
      <geocode_start>51.490537,-0.122541</geocode_start>
      <geocode_end>51.490537,-0.122541</geocode_end>
      <geocode_midpoints>
         <midpoint>
            <geocode>40.116929,-74.199418</geocode>
            <can_start_end_here>1</can_start_end_here>
            <label />
         </midpoint>
         <midpoint>
            <geocode>40.116929,-74.199418</geocode>
            <can_start_end_here>1</can_start_end_here>
            <label />
         </midpoint>
      </geocode_midpoints>
      <product_type>4</product_type>
      <tourleader_type>1</tourleader_type>
      <grade>3</grade>
      <accomrating>1</accomrating>
      <location>London</location>
      <summary>White water rafting on the rapids of the River Thames</summary>
      <shortdesc>See London at speed, feel the wind in your hair... Experience the thrills and spills of rafting on one of the most famous rivers in the world. Travel through the heart of London on your raft past the infamous Tower Bridge, The Tower of London, The London Eye and the Houses of Parliament</shortdesc>
      <longdesc>Are you brave enough to tackle the white water rapids of the River Thames?
Upon arrival you’ll be kitted out with a wetsuit, buoyancy aid, helmet and boots before going through a safety assessment and some flat water exercises– you’ll learn the secrets of navigating the world class white water river course. Sessions start with an adventurous first run down the course, designed to get you used to the feel of the boat and working as a team. We progressively up the fear factor each time and by your final run you’ll be surfing, high siding, spinning and nose dunking with the very best!

Rafters must be at least 14 years of age and under 18 stone. Any rafters aged between 14 - 18 must have our Parental Consent Form signed by their legal parent/guardian before being able to raft on the river. Please arrive 30 minutes before your start time and allow three to four hours for the whole rafting experience. White water rafting is an extreme sport, while navigating the course you could well take a tumble into grade 4 rapids, so be prepared. Our bank safety team will be on hand to rescue you and safely help you out of the water before helping you back aboard your raft. 
During your rafting experience you will need to remove jewellery and any items of value. To avoid risk of loss or damage please leave valuables at home.</longdesc>
      <itinerary>&lt;ul&gt;    &lt;li&gt;
         &lt;strong&gt;Itinerary item 1&lt;/strong&gt;
         Upon arrival you’ll be kitted out with a wetsuit, buoyancy aid, helmet and boots.
    &lt;/li&gt;    &lt;li&gt;
        &lt;strong&gt;Itinerary item 2&lt;/strong&gt;
        You'll have a safety assessment and go through some flat water exercises in order to start to learn the secrets of navigating the world class white water river course
    &lt;/li&gt;    &lt;li&gt;
         &lt;strong&gt;Itinerary item 3&lt;/strong&gt;
        The main session starts with an adventurous first run down the river from Tower Bridge to Waterloo, designed to get you used to the feel of the boat.
    &lt;/li&gt;    &lt;li&gt;
        &lt;strong&gt;Itinerary item 4&lt;/strong&gt;
        By your final run you’ll be surfing, high siding, spinning and nose dunking with the very best! Tour boats watch out!
    &lt;/li&gt;&lt;/ul&gt;</itinerary>
      <exp>- Seeing the great sights of London and getting active on the river. 
- Learn a new skill
- Team building</exp>
      <duration_desc>Half day</duration_desc>
      <duration>1</duration>
      <available>Year round</available>
      <pick>Hotel Pickup available. Please provide hotel name via email after booking</pick>
      <redeem>Please bring your voucher with you when you check in</redeem>
      <inc_ex>&lt;ul&gt; &lt;li&gt;Raft&lt;/li&gt; &lt;li&gt;Paddle&lt;/li&gt; &lt;li&gt;Wetsuit&lt;/li&gt; &lt;li&gt;Life jacket&lt;/li&gt; &lt;li&gt;Services of guide/instructor&lt;/li&gt;&lt;/ul&gt;</inc_ex>
      <inc>&lt;ul&gt; &lt;li&gt;Raft&lt;/li&gt; &lt;li&gt;Paddle&lt;/li&gt; &lt;li&gt;Wetsuit&lt;/li&gt; &lt;li&gt;Life jacket&lt;/li&gt; &lt;li&gt;Services of guide/instructor&lt;/li&gt;&lt;/ul&gt;</inc>
      <ex>&lt;ul&gt; &lt;li&gt;Towel&lt;/li&gt; &lt;li&gt;Swimwear&lt;/li&gt;&lt;/ul&gt;</ex>
      <extras>Upgrade to a full day (for additional charge)</extras>
      <essential>Equipment is provided - just bring your swimsuit and a towel. Solo travellers will be placed in a mixed group.</essential>
      <rest>No children under 14. No pets. Whilst you will be provided with a buoyancy aid and wetsuit, we do not advise you to do this activity unless you can swim at least 10m.</rest>
      <tour_url>http://tourcms.com/features/</tour_url>
      <tour_url_tracked>http://tourcms.com/features/</tour_url_tracked>
      <book_url>https://live.tourcms.com/reserve/r1.php?t=1&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=b7d2421180a3</book_url>
      <documents>
         <document>
            <document_description>Route map</document_description>
            <document_url>https://cdn.tourcms.com/a/4069/1/3930.pdf</document_url>
         </document>
      </documents>
      <videos>
         <video>
            <video_id>5NV6Rdv1a3I</video_id>
            <video_service>youtube</video_service>
            <video_url>http://www.youtube.com/watch?v=5NV6Rdv1a3I</video_url>
         </video>
      </videos>
      <suitable_for_solo>1</suitable_for_solo>
      <suitable_for_couples>1</suitable_for_couples>
      <suitable_for_children>0</suitable_for_children>
      <suitable_for_groups>1</suitable_for_groups>
      <suitable_for_students>1</suitable_for_students>
      <suitable_for_business>1</suitable_for_business>
      <suitable_for_wheelchairs>0</suitable_for_wheelchairs>
      <pickup_on_request>0</pickup_on_request>
      <pickup_points>
         <pickup>
            <pickup_name>Charing Cross Amba Hotel</pickup_name>
            <description>Near front desk</description>
            <address1>Strand</address1>
            <address2>London</address2>
            <postcode>WC2N 5HX</postcode>
            <geocode>51.508653,-0.125007</geocode>
            <pickup_id>9</pickup_id>
         </pickup>
         <pickup>
            <pickup_name>The Hoxton, Shoreditch</pickup_name>
            <description>By the bar</description>
            <address1>81 Great Eastern Street</address1>
            <address2>London</address2>
            <postcode>EC2A 3HU</postcode>
            <geocode>51.523679,-0.079310</geocode>
            <pickup_id>7842</pickup_id>
         </pickup>
      </pickup_points>
      <alternative_tours>
         <tour>
            <tour_id>9</tour_id>
            <tour_name>Gatwick Airport transfer - mini van</tour_name>
            <tour_name_long>Gatwick Airport transfer to Central London - mini van</tour_name_long>
            <location>London</location>
            <tour_url>http://tourcms.com/features/</tour_url>
            <tour_url_tracked>http://tourcms.com/features/</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=9&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=14f26bdd0367</book_url>
            <from_price>120.00</from_price>
            <from_price_display>&amp;#163;120</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/9/1/thumbnail.jpg</thumbnail_image>
            <product_type direction="2" airport_code="LGW">2</product_type>
         </tour>
         <tour>
            <tour_id>55</tour_id>
            <tour_name>PMI Airport to center</tour_name>
            <tour_name_long>PMI Airport to center</tour_name_long>
            <location>Palma de Mallorca</location>
            <tour_url>http://tourcms.com/tours/55_pmi_airport_to_center_12429.php</tour_url>
            <tour_url_tracked>http://tourcms.com/tours/55_pmi_airport_to_center_12429.php</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=55&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=5dde80a767f5</book_url>
            <tour_code>TE_4069_55|7248</tour_code>
            <from_price>50.00</from_price>
            <from_price_display>&amp;#163;50</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/55/1/thumbnail.png</thumbnail_image>
            <product_type direction="2" airport_code="PMI">2</product_type>
         </tour>
         <tour>
            <tour_id>83</tour_id>
            <tour_name>Multi dep/day tour</tour_name>
            <tour_name_long>Multi dep/day tour</tour_name_long>
            <location>Zurich</location>
            <tour_url>http://tourcms.com/support/</tour_url>
            <tour_url_tracked>http://tourcms.com/support/</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=83&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=bf18f05afc00</book_url>
            <from_price>120.00</from_price>
            <from_price_display>&amp;#163;120</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/83/1/thumbnail.jpg</thumbnail_image>
            <product_type>4</product_type>
         </tour>
         <tour>
            <tour_id>70</tour_id>
            <tour_name>Granada airport bus</tour_name>
            <tour_name_long>Granada airport bus</tour_name_long>
            <location>Granada</location>
            <tour_url>http://tourcms.com/tours/70_granada_airport_bus_12429.php</tour_url>
            <tour_url_tracked>http://tourcms.com/tours/70_granada_airport_bus_12429.php</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=70&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=c961efb45593</book_url>
            <tour_code>70</tour_code>
            <from_price>10.00</from_price>
            <from_price_display>&amp;#163;10</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/70/1/thumbnail.jpg</thumbnail_image>
            <product_type>4</product_type>
         </tour>
         <tour>
            <tour_id>72</tour_id>
            <tour_name>Bundle Maca 1</tour_name>
            <tour_name_long>Bundle Maca 1</tour_name_long>
            <location>Granada</location>
            <tour_url>http://tourcms.com/tours/72_bundle_maca_1_12429.php</tour_url>
            <tour_url_tracked>http://tourcms.com/tours/72_bundle_maca_1_12429.php</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=72&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=de7d113ecf80</book_url>
            <tour_code>72</tour_code>
            <from_price>15.00</from_price>
            <from_price_display>&amp;#163;15</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/72/1/thumbnail.jpg</thumbnail_image>
            <product_type direction="0">2</product_type>
         </tour>
         <tour>
            <tour_id>71</tour_id>
            <tour_name>Granada City Tour</tour_name>
            <tour_name_long>Granada City Tour</tour_name_long>
            <location>London</location>
            <tour_url>http://tourcms.com/tours/71_granada_city_tour_12429.php</tour_url>
            <tour_url_tracked>http://tourcms.com/tours/71_granada_city_tour_12429.php</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=71&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=63d10a283439</book_url>
            <tour_code>71</tour_code>
            <from_price>20.00</from_price>
            <from_price_display>&amp;#163;20</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/71/1/thumbnail.jpg</thumbnail_image>
            <product_type>4</product_type>
         </tour>
         <tour>
            <tour_id>3</tour_id>
            <tour_name>Sweet Streets of London (Quantity priced item)</tour_name>
            <tour_name_long>The Sweet Streets of London (Quantity priced item)</tour_name_long>
            <location>London</location>
            <tour_url>http://tourcms.com/destinations/united-kingdom/quantity-priced-item_3930-3/</tour_url>
            <tour_url_tracked>http://tourcms.com/destinations/united-kingdom/quantity-priced-item_3930-3/</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=3&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=b1af3e8bf47d</book_url>
            <tour_code>BIGBIRD</tour_code>
            <from_price>48.00</from_price>
            <from_price_display>&amp;#163;48</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/3/1/thumbnail.jpg</thumbnail_image>
            <product_type>4</product_type>
         </tour>
         <tour>
            <tour_id>80</tour_id>
            <tour_name>Aeropuerto Adolfo Suarez</tour_name>
            <tour_name_long>Aeropuerto Adolfo Suarez</tour_name_long>
            <location>Granada</location>
            <tour_url>http://tourcms.com/tours/80_aeropuerto_adolfo_suarez_12429.php</tour_url>
            <tour_url_tracked>http://tourcms.com/tours/80_aeropuerto_adolfo_suarez_12429.php</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=80&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=6e9c46a14f08</book_url>
            <tour_code>80</tour_code>
            <from_price>10.00</from_price>
            <from_price_display>&amp;#163;10</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/80/1/thumbnail.jpg</thumbnail_image>
            <product_type>4</product_type>
         </tour>
         <tour>
            <tour_id>88</tour_id>
            <tour_name>Danube panorama (test)</tour_name>
            <tour_name_long>Danube panorama (test)</tour_name_long>
            <location>Granada</location>
            <tour_url>http://tourcms.com/tours/88_danube_panorama__test__12429.php</tour_url>
            <tour_url_tracked>http://tourcms.com/tours/88_danube_panorama__test__12429.php</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=88&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=5b60cde489c9</book_url>
            <tour_code>70</tour_code>
            <from_price>10.00</from_price>
            <from_price_display>&amp;#163;10</from_price_display>
            <from_price_unit>0</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/88/1/thumbnail.jpg</thumbnail_image>
            <product_type>4</product_type>
         </tour>
         <tour>
            <tour_id>24</tour_id>
            <tour_name>Gatwick Airport to Central London - mini van</tour_name>
            <tour_name_long>Gatwick Airport to Central London - mini van</tour_name_long>
            <location>London</location>
            <tour_url>http://tourcms.com/index.php</tour_url>
            <tour_url_tracked>http://tourcms.com/index.php</tour_url_tracked>
            <book_url>https://live.tourcms.com/reserve/r1.php?t=24&amp;a=4069&amp;w=3930&amp;people=1&amp;ty=t&amp;k=ca6dbb07b620</book_url>
            <from_price>120.00</from_price>
            <from_price_display>&amp;#163;120</from_price_display>
            <from_price_unit>2</from_price_unit>
            <thumbnail_image>https://cdn.tourcms.com/a/4069/24/1/thumbnail.jpg</thumbnail_image>
            <product_type direction="3" airport_code="LGW">2</product_type>
         </tour>
      </alternative_tours>
      <images>
         <image thumbnail="true">
            <url_thumbnail>https://cdn.tourcms.com/a/4069/1/1/thumbnail.jpg</url_thumbnail>
            <url>https://cdn.tourcms.com/a/4069/1/1/default.jpg</url>
            <url_large>https://cdn.tourcms.com/a/4069/1/1/large.jpg</url_large>
            <url_xlarge>https://cdn.tourcms.com/a/4069/1/1/xlarge.jpg</url_xlarge>
            <image_desc>Image: graham_alton, flickr</image_desc>
         </image>
         <image>
            <url_thumbnail>https://cdn.tourcms.com/a/4069/1/2/thumbnail.jpg</url_thumbnail>
            <url>https://cdn.tourcms.com/a/4069/1/2/default.jpg</url>
            <url_large>https://cdn.tourcms.com/a/4069/1/2/large.jpg</url_large>
            <url_xlarge>https://cdn.tourcms.com/a/4069/1/2/xlarge.jpg</url_xlarge>
            <image_desc>rafting image test description 1</image_desc>
         </image>
         <image>
            <url_thumbnail>https://cdn.tourcms.com/a/4069/1/3/thumbnail.jpg</url_thumbnail>
            <url>https://cdn.tourcms.com/a/4069/1/3/default.jpg</url>
            <url_large>https://cdn.tourcms.com/a/4069/1/3/large.jpg</url_large>
            <image_desc>rafting image test description 2</image_desc>
         </image>
      </images>
      <new_booking>
         <people_selection>
            <rate>
               <label_1>People</label_1>
               <label_2 />
               <minimum>1</minimum>
               <maximum>10</maximum>
               <rate_id>r1</rate_id>
               <agecat>a</agecat>
               <agerange_min>7</agerange_min>
               <agerange_max>100</agerange_max>
               <from_price>50.00</from_price>
               <from_price_display>&amp;#163;50</from_price_display>
               <rate_code />
            </rate>
            <rate>
               <label_1>Child</label_1>
               <label_2 />
               <minimum>1</minimum>
               <maximum>10</maximum>
               <rate_id>r2</rate_id>
               <agecat>c</agecat>
               <agerange_min>0</agerange_min>
               <agerange_max>6</agerange_max>
               <from_price>50.00</from_price>
               <from_price_display>&amp;#163;50</from_price_display>
               <rate_code />
            </rate>
         </people_selection>
         <date_selection>
            <date_type>DATE</date_type>
         </date_selection>
      </new_booking>
      <custom_fields>
         <field>
            <name>testfield2</name>
            <value>Something something here 2</value>
         </field>
         <field>
            <name>a1</name>
            <value />
         </field>
         <field>
            <name>testfield</name>
            <value>New &lt;strong&gt;field&lt;/strong&gt; one info here testing 1 2 3</value>
         </field>
         <field>
            <name>glwwvideo</name>
            <value>https://player.vimeo.com/external/157653331.hd.mp4?s=a6ee5312ca90254e8c428b51da7c47bc094994ed&amp;profile_id=113</value>
         </field>
         <field>
            <name>single</name>
            <value>https://1drv.ms/f/s!AoLsZgsyTWu7jAmwc8nDCZ3sTE7x</value>
         </field>
      </custom_fields>
      <categories>
         <group>
            <name>Activity</name>
            <values>
               <value>Rafting</value>
            </values>
         </group>
         <group>
            <name>Granada</name>
         </group>
      </categories>
      <health_and_safety>
         <item>
            <name>face_masks_requied_for_travelers</name>
            <display_name>Face masks required for travelers</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>face_masks_requied_for_guides</name>
            <display_name>Face masks required for guides</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>face_masks_provided_for_travelers</name>
            <display_name>Face masks provided for travelers</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>hand_sanitizer_available</name>
            <display_name>Hand sanitizer available to travelers and staff</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>social_distancing_enforced</name>
            <display_name>Social distancing enforced throughout experience</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>regularly_sanitized</name>
            <display_name>Regularly sanitized high-traffic areas</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>equipment_sanitized</name>
            <display_name>Gear/equipment sanitized between use</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>transportation_vehicles_sanitized</name>
            <display_name>Transportation vehicles regularly sanitized</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>guides_required_to_wash_hands</name>
            <display_name>Guides required to wash hands</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>temperature_checks_for_staff</name>
            <display_name>Regular temperature checks for staff</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>temperature_checks_for_travelers</name>
            <display_name>Temperature checks for travelers upon arrival</display_name>
            <value>NOTSET</value>
         </item>
         <item>
            <name>contactless_payments_for_extras</name>
            <display_name>Contactless payments for gratuities and add-ons</display_name>
            <value>NOTSET</value>
         </item>
      </health_and_safety>
      <distribution_identifier>TE_4069_1</distribution_identifier>
   </tour>
</response>

More information