OTA_ProductDescriptiveInfoRS is an OTA response message used in the Excursions NBC (Notification‑Based Content) flow to deliver descriptive product metadata for a tour activity. It surfaces the Excursion identifier, the set of Products offered, and the available Service types.
Purpose
This response provides:- TourActivityID — unique identifier of the excursion.
- Products — product options offered under the excursion (e.g., 15‑min vs 30‑min tour).
- Services — service delivery types (e.g., ticket only, with pickup).
- Descriptive text for display.
Structure – Root Element
Copy
Ask AI
<OTA_ProductDescriptiveInfoRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2008.1">
...
</OTA_ProductDescriptiveInfoRS>
Version— OTA spec version (e.g.,2008.1).xmlns—http://www.opentravel.org/OTA/2003/05.
Structure - Core Elements
TourActivityDescriptiveInfo
Container of one or more tour activities returned in the response. The structure is similar to Hotel NBC.TourActivityDescriptiveContent
Contains the retrieved service details.Copy
Ask AI
<TourActivityDescriptiveContent TourActivityID="LESACE81AS" TourActivityName="Music Show" RPH="1">
Schedule
Displays the available schedules for the retrieved Tour Activity.Copy
Ask AI
<Schedule>
<Summary Start="09:30:00" Duration="PT8H"/>
</Schedule>
TourActivityCategory
Displays the category of the retrieved activity. See Activity Codes.Copy
Ask AI
<TourActivityCategory CategoryCode="SE" CategoryName="Show Events" TypeCode="BP" TypeName="BaseProduct"/>
ProductInfo
Shows short descriptions for each unit (Code).
Copy
Ask AI
<ProductInfo Code="ST" CodeDetail="Standard Entrance">
<Descriptions>
<MultimediaDescriptions>
<MultimediaDescription>
<TextItems>
<TextItem>
<Description Language="EN">Entrance fee, Dinner, Souvenir brochure (drinks not included)</Description>
</TextItem>
</TextItems>
</MultimediaDescription>
</MultimediaDescriptions>
</Descriptions>
</ProductInfo>
ServiceInfo
Short description of the available service types.Copy
Ask AI
<ServiceInfo Code="TIC" CodeDetail="ticket only">
<DescriptiveText>ticket only</DescriptiveText>
</ServiceInfo>
ZoneInfo
Describes the zones where the Tour Activity operates. RefPoints Zone information. Can be used in Search and Avail messages.Copy
Ask AI
<RefPoints>
<RefPoint Name="Country" RefPointName="Spain"/>
<RefPoint Name="TurismDestinationName" RefPointName="Lanzarote"/>
<RefPoint Name="Destination" RefPointName="Canarian Islands"/>
<RefPoint Name="Region" RefPointName="Lanzarote"/>
<RefPoint Name="Resort" RefPointName="Arrecife"/>
</RefPoints>
Copy
Ask AI
<OperationTime SupplierProductCode="TB000000">
<PickupDropoff LocationName="AESACE5UIO" OtherInfo="OTHERS" PickupInd="true" MeetingLocation="OTHERS / Intercambiador BUSES - CABILDO" DateTime="08:00:00" TimeOffset="90" Latitude="28.96227" Longitude="-13.54585"/>
<PickupDropoff LocationName="AESACE5YBY" OtherInfo="OTHERS" PickupInd="true" MeetingLocation="OTHERS / Intercambiador BUSES - CABILDO" DateTime="08:00:00" TimeOffset="90" Latitude="28.958" Longitude="-13.55322"/>
<PickupDropoff LocationName="AESACE6N66" OtherInfo="OTHERS" PickupInd="true" MeetingLocation="OTHERS / Intercambiador BUSES - CABILDO" DateTime="08:00:00" TimeOffset="90"/>
<PickupDropoff LocationName="AESACE7EZG" OtherInfo="OTHERS" PickupInd="true" MeetingLocation="OTHERS / Intercambiador BUSES - CABILDO" DateTime="08:00:00" TimeOffset="90"/>
<PickupDropoff LocationName="AESACE8TDK" OtherInfo="OTHERS" PickupInd="true" MeetingLocation="OTHERS / Intercambiador BUSES - CABILDO" DateTime="08:00:00" TimeOffset="90" Latitude="28.95898" Longitude="-13.55373"/>
<PickupDropoff LocationName="AESACE97T0" OtherInfo="OTHERS" PickupInd="true" MeetingLocation="OTHERS / Intercambiador BUSES - CABILDO" DateTime="08:00:00" TimeOffset="90" Latitude="28.95512" Longitude="-13.58238"/>
</OperationTime>
Descriptions
Includes a long description in the requested language if available.Copy
Ask AI
<Descriptions>
<DescriptiveText>This long-running comedy variety show has been entertaining audiences for years with its unique blend of humor, music, and theatrical flair.
Hosted in its original venue, the show features a talented cast performing lively dinner performances filled with laughter, music, and unforgettable parodies of iconic stars and films.
It's a night of fun for all ages, promising non-stop entertainment, catchy tunes, and hilarious sketches that keep the audience engaged from start to finish.
Even those who think this type of show isn’t for them often leave saying it was the highlight of their trip.
Tickets typically include a three-course meal along with keepsakes to remember the evening.</DescriptiveText>
</Descriptions>
Position
Geo location of the product.Copy
Ask AI
<Position Latitude="30.0" Longitude="-15.0"/>
Services
Shows different facts of the retrieved product.Copy
Ask AI
<Service CodeDetail="EX_DIFFIC|EX_DIF_1">
<DescriptiveText>Difficulty|Easy|</DescriptiveText>
</Service>
<Service CodeDetail="EXCURSION|EX_ICONF">
<DescriptiveText>Key Details|Instant Confirmation|</DescriptiveText>
</Service>
Service@CodeDetail encodes a hierarchy using line breaks (pipes in textual examples). Related values can appear under Features/Feature@CodeDetail with a DescriptiveText value. Duration windows may be modeled with OperationSchedules/OperationSchedule. MultimediaDescriptions
See Hotel Multimedia Descriptions.ContactInfos
See Hotel Contact Infos.Complete example
NBC Response
Copy
Ask AI
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OTA_ProductDescriptiveInfoRS
xmlns="http://www.opentravel.org/OTA/2003/05" Version="2016.2" TransactionIdentifier="1-1/1">
<Success/>
<ProductDescriptiveContents>
<TourActivityDescriptiveContent TourActivityID="LESACE81AS" TourActivityName="Music Show" RPH="1">
<TourActivityInfo>
<Schedule>
<Summary Start="19:30:00" Duration="PT5H"/>
</Schedule>
<CategoryCodes>
<TourActivityCategory CategoryCode="SE" CategoryName="Show Events" TypeCode="BP" TypeName="BaseProduct"/>
<ProductInfo Code="ST" CodeDetail="Standard Entrance">
<Descriptions>
<MultimediaDescriptions>
<MultimediaDescription>
<TextItems>
<TextItem>
<Description Language="EN">Entrance fee, Dinner, Souvenir brochure (drinks not included)
</Description>
</TextItem>
</TextItems>
</MultimediaDescription>
</MultimediaDescriptions>
</Descriptions>
</ProductInfo>
<ServiceInfo Code="TIC" CodeDetail="ticket only">
<DescriptiveText>ticket only</DescriptiveText>
</ServiceInfo>
<ServiceInfo Code="TRF" CodeDetail="incl. pickUp & dropOff">
<DescriptiveText>incl. pickUp & dropOff</DescriptiveText>
</ServiceInfo>
<ZoneInfo Code="A">
<SubZoneInfo Code="1006CO">
<RefPoints>
<RefPoint Name="Country" RefPointName="Spain"/>
<RefPoint Name="TurismDestinationName" RefPointName="Lanzarote"/>
<RefPoint Name="Destination" RefPointName="Canarian Islands"/>
<RefPoint Name="Region" RefPointName="Lanzarote"/>
<RefPoint Name="Resort" RefPointName="Costa Teguise"/>
</RefPoints>
<OperationTime>
<PickupDropoff LocationName="AESACE5UA4" OtherInfo="NEARESTBUSSTOP" PickupInd="true" MeetingLocation="NEARESTBUSSTOP / NearestBusStop" DateTime="18:55:00" TimeOffset="35" Latitude="28.9907" Longitude="-13.50315"/>
<PickupDropoff LocationName="AESACE5UCK" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:55:00" TimeOffset="35" Latitude="28.98955" Longitude="-13.50783"/>
<PickupDropoff LocationName="AMTSES0073" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:50:00" TimeOffset="40" Latitude="29.00172" Longitude="-13.48802"/>
<PickupDropoff LocationName="AMTSES0075" OtherInfo="NEARESTBUSSTOP" PickupInd="true" MeetingLocation="NEARESTBUSSTOP / NearestBusStop" DateTime="18:55:00" TimeOffset="35" Latitude="28.99431" Longitude="-13.48977"/>
<PickupDropoff LocationName="AMTSES0079" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:30:00" TimeOffset="60" Latitude="29.011" Longitude="-13.4887"/>
<PickupDropoff LocationName="AMTSES0081" OtherInfo="NEARESTBUSSTOP" PickupInd="true" MeetingLocation="NEARESTBUSSTOP / NearestBusStop" DateTime="19:00:00" TimeOffset="30" Latitude="28.98782" Longitude="-13.51008"/>
<PickupDropoff LocationName="AMTSES0085" OtherInfo="NEARESTBUSSTOP" PickupInd="true" MeetingLocation="NEARESTBUSSTOP / NearestBusStop" DateTime="18:45:00" TimeOffset="45" Latitude="29.00183" Longitude="-13.4857"/>
<PickupDropoff LocationName="AMTSES0091" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:30:00" TimeOffset="60" Latitude="28.99684" Longitude="-13.49914"/>
<PickupDropoff LocationName="AMTSES0092" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:35:00" TimeOffset="55" Latitude="29.004" Longitude="-13.48316"/>
<PickupDropoff LocationName="AMTSES08UY" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:30:00" TimeOffset="60" Latitude="28.99864" Longitude="-13.50582"/>
<PickupDropoff LocationName="AMTSES19FC" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:30:00" TimeOffset="60" Latitude="29.00406" Longitude="-13.49114"/>
<PickupDropoff LocationName="AMTSES1XYY" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:25:00" TimeOffset="65" Latitude="28.99569" Longitude="-13.50678"/>
</OperationTime>
</SubZoneInfo>
</ZoneInfo>
<ZoneInfo Code="B">
<SubZoneInfo Code="1009PL">
<RefPoints>
<RefPoint Name="Country" RefPointName="Spain"/>
<RefPoint Name="TurismDestinationName" RefPointName="Lanzarote"/>
<RefPoint Name="Destination" RefPointName="Canarian Islands"/>
<RefPoint Name="Region" RefPointName="Lanzarote"/>
<RefPoint Name="Resort" RefPointName="Playa Blanca"/>
</RefPoints>
<OperationTime>
<PickupDropoff LocationName="AESACE5YXC" OtherInfo="NEARESTBUSSTOP" PickupInd="true" MeetingLocation="NEARESTBUSSTOP / NearestBusStop" DateTime="18:40:00" TimeOffset="50"/>
<PickupDropoff LocationName="AESACE7Q1Y" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:50:00" TimeOffset="40" Latitude="28.86587" Longitude="-13.83846"/>
<PickupDropoff LocationName="AMTSES0130" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:45:00" TimeOffset="45" Latitude="28.86255" Longitude="-13.84665"/>
<PickupDropoff LocationName="AMTSES0131" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:15:00" TimeOffset="75" Latitude="28.86506" Longitude="-13.82145"/>
<PickupDropoff LocationName="AMTSES0132" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:30:00" TimeOffset="60" Latitude="28.86556" Longitude="-13.82524"/>
<PickupDropoff LocationName="AMTSES0133" OtherInfo="OTHERS" PickupInd="true" MeetingLocation="OTHERS / Lanzarote Princess Bus Stop" DateTime="18:30:00" TimeOffset="60" Latitude="28.86331" Longitude="-13.82112"/>
<PickupDropoff LocationName="AMTSES0136" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:50:00" TimeOffset="40" Latitude="28.86802" Longitude="-13.8438"/>
<PickupDropoff LocationName="AMTSES0137" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:45:00" TimeOffset="45" Latitude="28.86003" Longitude="-13.84416"/>
<PickupDropoff LocationName="AMTSES0138" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:45:00" TimeOffset="45" Latitude="28.86294" Longitude="-13.85216"/>
<PickupDropoff LocationName="AMTSES0139" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:25:00" TimeOffset="65" Latitude="28.85884" Longitude="-13.80464"/>
<PickupDropoff LocationName="AMTSES0140" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:30:00" TimeOffset="60" Latitude="28.86835" Longitude="-13.82425"/>
<PickupDropoff LocationName="AMTSES0141" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:50:00" TimeOffset="40" Latitude="28.86595" Longitude="-13.83853"/>
<PickupDropoff LocationName="AMTSES0142" OtherInfo="NEARESTBUSSTOP" PickupInd="true" MeetingLocation="NEARESTBUSSTOP / NearestBusStop" DateTime="18:40:00" TimeOffset="50" Latitude="28.85707" Longitude="-13.83914"/>
<PickupDropoff LocationName="AMTSES0143" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:50:00" TimeOffset="40" Latitude="28.86312" Longitude="-13.85731"/>
<PickupDropoff LocationName="AMTSES0146" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:25:00" TimeOffset="65" Latitude="28.85738" Longitude="-13.81089"/>
<PickupDropoff LocationName="AMTSES0147" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:20:00" TimeOffset="70" Latitude="28.85925" Longitude="-13.79807"/>
<PickupDropoff LocationName="AMTSES0148" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:40:00" TimeOffset="50" Latitude="28.86774" Longitude="-13.83453"/>
<PickupDropoff LocationName="AMTSES0152" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:20:00" TimeOffset="70" Latitude="28.8605" Longitude="-13.80094"/>
<PickupDropoff LocationName="AMTSES0SW2" OtherInfo="NEARESTBUSSTOP" PickupInd="true" MeetingLocation="NEARESTBUSSTOP / NearestBusStop" DateTime="18:25:00" TimeOffset="65" Latitude="28.86003" Longitude="-13.81559"/>
<PickupDropoff LocationName="AMTSES17OM" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:15:00" TimeOffset="75" Latitude="28.86921" Longitude="-13.82172"/>
<PickupDropoff LocationName="AMTSES17P0" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:35:00" TimeOffset="55" Latitude="28.8715" Longitude="-13.8243"/>
<PickupDropoff LocationName="AMTSES19F8" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:45:00" TimeOffset="45" Latitude="28.86214" Longitude="-13.87491"/>
<PickupDropoff LocationName="AMTSES1UJ6" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:40:00" TimeOffset="50" Latitude="28.85968" Longitude="-13.84193"/>
<PickupDropoff LocationName="AMTSES3FWE" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="18:50:00" TimeOffset="40" Latitude="28.86618" Longitude="-13.84357"/>
</OperationTime>
</SubZoneInfo>
</ZoneInfo>
<ZoneInfo Code="C">
<SubZoneInfo Code="1010PU">
<RefPoints>
<RefPoint Name="Country" RefPointName="Spain"/>
<RefPoint Name="TurismDestinationName" RefPointName="Lanzarote"/>
<RefPoint Name="Destination" RefPointName="Canarian Islands"/>
<RefPoint Name="Region" RefPointName="Lanzarote"/>
<RefPoint Name="Resort" RefPointName="Puerto Calero"/>
</RefPoints>
<OperationTime>
<PickupDropoff LocationName="AMTSES0160" OtherInfo="HOTELENTRANCE" PickupInd="true" MeetingLocation="HOTELENTRANCE / HotelEntrance" DateTime="19:10:00" TimeOffset="20" Latitude="28.92048" Longitude="-13.7039"/>
</OperationTime>
</SubZoneInfo>
</ZoneInfo>
</CategoryCodes>
<Descriptions>
<DescriptiveText>This long-running comedy variety show has been entertaining audiences for years with its unique blend of humor, music, and theatrical flair.
Hosted in its original venue, the show features a talented cast performing lively dinner performances filled with laughter, music, and unforgettable parodies of iconic stars and films.
It's a night of fun for all ages, promising non-stop entertainment, catchy tunes, and hilarious sketches that keep the audience engaged from start to finish.
Even those who think this type of show isn’t for them often leave saying it was the highlight of their trip.
Tickets typically include a three-course meal along with keepsakes to remember the evening.</DescriptiveText>
</Descriptions>
<Position Latitude="30.0" Longitude="-15.0"/>
<Services>
<Service CodeDetail="EX_DIFFIC|EX_DIF_1">
<DescriptiveText>Difficulty|Easy|</DescriptiveText>
</Service>
<Service CodeDetail="EX_INCL|EX_INCL_FOOD">
<DescriptiveText>What`s included|Meals|</DescriptiveText>
</Service>
<Service CodeDetail="EX_INCL|EX_INCL_O">
<Features>
<Feature CodeDetail="Free Text:">
<DescriptiveText>Prices include a 3 course Dinner plus a Souvenir Photo & Program.</DescriptiveText>
</Feature>
</Features>
<DescriptiveText>What`s included|Other:|</DescriptiveText>
</Service>
<Service CodeDetail="EX_INCL|EX_INCL_VEGE">
<DescriptiveText>What`s included|Vegetarian Food|</DescriptiveText>
</Service>
<Service CodeDetail="EXCURSION|EX_LANGSPOKEN">
<Features>
<Feature CodeDetail="Languages:">
<DescriptiveText>English</DescriptiveText>
</Feature>
</Features>
<DescriptiveText>Key Details|Languages spoken|</DescriptiveText>
</Service>
<Service CodeDetail="EX_NOTINCL|EX_NOTINCL_DRINK">
<DescriptiveText>What`s not included|Drinks|</DescriptiveText>
</Service>
<Service CodeDetail="EX_NOTINCL|EX_NOTINCL_HPD">
<DescriptiveText>What`s not included|Hotel pickup and drop-off (optional)|</DescriptiveText>
</Service>
<Service CodeDetail="EXCURSION|EX_PVOUCHER">
<DescriptiveText>Key Details|Printed Voucher accepted|</DescriptiveText>
</Service>
<Service CodeDetail="EX_TARGET|EX_TARGET_ALL">
<DescriptiveText>Audience|Anybody|</DescriptiveText>
</Service>
<Service CodeDetail="EX_THEME|EX_THEME_ENTERT">
<DescriptiveText>Theme|Entertainment|</DescriptiveText>
</Service>
<Service CodeDetail="EX_HIGHL|IS_DESC001">
<Features>
<Feature CodeDetail="EN Description">
<DescriptiveText>Experience the funniest night out in the Canary Islands!
Fit for all ages!
</DescriptiveText>
</Feature>
</Features>
<DescriptiveText>Highlights|Description|</DescriptiveText>
</Service>
</Services>
</TourActivityInfo>
<AreaInfo>
<RefPoints>
<RefPoint Name="Country" RefPointName="Spain"/>
<RefPoint Name="Destination" RefPointName="Canarian Islands"/>
<RefPoint Name="TurismDestination" RefPointName="Lanzarote"/>
<RefPoint Name="Resort" RefPointName="Puerto del Carmen"/>
<RefPoint Name="Region" RefPointName="Lanzarote"/>
<RefPoint Name="TravelDestination" RefPointName="ACE"/>
<RefPoint Latitude="30.0" Longitude="-15.0"/>
</RefPoints>
</AreaInfo>
<ContactInfos>
<ContactInfo>
<Addresses>
<Address>
<AddressLine>Centro Commercial Playa</AddressLine>
<CityName>Puerto del Carmen</CityName>
<PostalCode>35555</PostalCode>
<CountryName>ES</CountryName>
</Address>
</Addresses>
<Phones>
<Phone PhoneTechType="1" PhoneNumber="928 514 701"/>
</Phones>
<Emails>
<Email>[email protected]</Email>
</Emails>
<URLs>
<URL Type="Web">http://www.fakeaxis.com/</URL>
</URLs>
</ContactInfo>
</ContactInfos>
</TourActivityDescriptiveContent>
</ProductDescriptiveContents>
</OTA_ProductDescriptiveInfoRS>
Best Practices
- Treat
TourActivityIDas the stable key for excursion mapping. - Use
ProductInfo/@CodeandServiceInfo/@Codeto build your SKU axes; validate availability via incoming NBC rate plan notifications. - If multiple
TourActivityDescriptiveInfoblocks are present, index onRPHandTourActivityIDfor deterministic merges.

