The OTA_TourActivityBookRQ (Excursion Book Request) is used to quote and commit tour & activity bookings.
Already know OTA messages? Jump straight into testing.
OTA_TourActivityBookRQ API call
Skip & Hit the Playground.
Purpose
This message is used to:
- Request a quote (availability + total price) for a specific activity using
ResStatus="Quote".
- Confirm a booking using
ResStatus="Commit" (binding if accepted).
Structure – Root Element
Key Attributes:
Structure – Core Elements
POS
Identifies the requesting party and contains credentials.
<POS>
<Source>
<RequestorID ID="TST1" ID_Context="AxisData" Type="22" Instance="PriceBreakdown"/>
</Source>
<Source>
<RequestorID Type="88" ID="TST1" MessagePassword="TST1password?"/>
</Source>
</POS>
BookingInfo
Container for the service, participants, schedule, pricing, and optional extras.
BasicInfo
Provide the full service identifier returned by the search.
<BasicInfo TourActivityID="LESACE81AS" SupplierProductCode="ST" SupplierServiceCode="TRF"/>
ParticipantInfo
Each traveler is described with a Category and Individual node.
Category/@QualifierInfo: Age Qualifying Code (AQC) per OTA standard.
Individual/@Age: Age at time of service.
Individual/@ParticipantID: Unique within request.
<ParticipantInfo>
<Category QualifierInfo="10"/>
<Individual Age="36" ParticipantID="1">
<GivenName>Bender</GivenName>
<NamePrefix>Mr</NamePrefix>
<Surname>Bending</Surname>
</Individual>
</ParticipantInfo>
<ParticipantInfo>
<Category QualifierInfo="10"/>
<Individual Age="32" ParticipantID="2">
<GivenName>Angeline</GivenName>
<NamePrefix>Ms</NamePrefix>
<Surname>Bending</Surname>
</Individual>
</ParticipantInfo>
Schedule
Use a single calendar date for the service. Times may be included.
<Schedule Start="2026-07-17T09:30:00" End="2026-07-17T17:30:00"/>
PickupDropoff
Include pickup time and location if the activity requires it (e.g. TRF).
<PickupDropoff DateTime="2026-07-17T08:25:00" LocationName="AMTSES08UI" PickupInd="true"/>
Pricing
Send back the total price from the detailed search for consistency.
<Pricing>
<Summary Amount="130.00" CurrencyCode="EUR"/>
</Pricing>
Add optional extras returned by search. Do not include compulsory extras (already priced).
<Extra SupplierCode="EXFOOD" Description="Extra Food" quantity="1"/>
TPA_Extensions
Partner references are required for idempotency and voucher printing.
<TPA_Extensions>
<UniqueID Type="36" ID="123456789" ID_Context="Client"/>
<UniqueID Type="37" ID="123456789_1" ID_Context="Client"/>
</TPA_Extensions>
Complete Examples
<OTA_TourActivityBookRQ Version="2011.2" ResStatus="Quote" xmlns="http://www.opentravel.org/OTA/2003/05">
<POS>
<Source>
<RequestorID ID="TST1" ID_Context="AxisData" Type="22" Instance="PriceBreakdown"/>
</Source>
<Source>
<RequestorID Type="88" ID="TST1" MessagePassword="TST1password?"/>
</Source>
</POS>
<BookingInfo>
<BasicInfo TourActivityID="LESACE81AS" SupplierProductCode="ST" SupplierServiceCode="TRF"/>
<ParticipantInfo>
<Category QualifierInfo="10"/>
<Individual Age="36" ParticipantID="1">
<GivenName>Bender</GivenName>
<NamePrefix>Mr</NamePrefix>
<Surname>Bending</Surname>
</Individual>
</ParticipantInfo>
<ParticipantInfo>
<Category QualifierInfo="10"/>
<Individual Age="32" ParticipantID="2">
<GivenName>Angeline</GivenName>
<NamePrefix>Ms</NamePrefix>
<Surname>Bending</Surname>
</Individual>
</ParticipantInfo>
<Schedule Start="2026-07-17T09:30:00" End="2026-07-17T17:30:00"/>
<PickupDropoff DateTime="2026-07-17T08:25:00" LocationName="AMTSES08UI" PickupInd="true"/>
<Pricing>
<Summary Amount="130.00" CurrencyCode="EUR"/>
</Pricing>
<Extra SupplierCode="EXFOOD" Description="Extra Food" quantity="1"/>
</BookingInfo>
<TPA_Extensions>
<UniqueID Type="36" ID="123456789" ID_Context="Client"/>
<UniqueID Type="37" ID="123456789_1" ID_Context="Client"/>
</TPA_Extensions>
</OTA_TourActivityBookRQ>
Best Practices
- Always include partner references in
TPA_Extensions to prevent duplicate bookings.
- Use ages at service date in
Individual/@Age.
- Keep
Start and End within the same calendar day for day activities.
- Echo back the returned price in
Pricing/Summary for consistency checks.
Playground
OTA_TourActivityBookRQ API call
Try our API playground in real time.
Use the desired request in the playground and receive responses from our test environment API!