...
4.1.1. SEARCH BY LOCATIONS
GP Travel HUB offers several alternatives of searching excursions by location:
| Search by | Description | Search example |
---|
1 | City code from supplier context (one supplier) | Allows to specify city code of certain supplier and get excursion offers only from this supplier. You can use this case if you know exact location codes from suppliers and would like to get offers only from some supplier. | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCityCode="1005" ExcursionCodeContext="supplierCode"/>
</Criterion> |
|
2 | City code from GEO context (one supplier) | When the ExcursionCodeContext is "GEO.<supplier>" then the ExcursionCityCode must be specified in GEO context, and then the search request goes only to the supplier specified. So, you can send a request to the particular supplier, even if you don’t know supplier-specific City Code (as described in p.1 above). | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCityCode="12175" ExcursionCodeContext="GEO.supplierCode"/>
</Criterion> |
|
3 | City code from customer context | If it is agreed to support customer context, GP Travel HUB can do search by customer-specific city codes. In this case your application can provide your own city code, GP Travel HUB will resolve it via GEO-tree and send requests to supplier. | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCityCode="1005" ExcursionCodeContext="ABC.supplierCode"/>
</Criterion> |
|
4 | Country code from supplier context | Allows to specify country code and get excursion offers from supplier. Info |
---|
Note: This functionality supported for limited suppliers. Please check with GP Travel HUB development if you are interested in specific supplier. |
| Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCodeContext="supplierCode" ExcursionCountryCode="1003"/>
</Criterion> |
|
5 | Country code from GEO context (one supplier) | When the ExcursionCodeContext is "GEO.<supplier>" then the ExcursionCountryCode must be specified in GEO context, and then the search request goes only to the supplier specified. So, you can send a request to the particular supplier, even if you don’t know supplier-specific Country Code (as described in p.4 above). | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCountryCode="UK" ExcursionCodeContext="GEO.supplierCode"/>
</Criterion> |
|
6 | Country code from customer context | If it is agreed to support customer context, GP Travel HUB can do search by customer-specific city codes. In this case your application can provide your own city code, GP Travel HUB will resolve it via GEO-tree and send requests to supplier. | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCountryCode="1003" ExcursionCodeContext="ABC.supplierCode"/>
</Criterion> |
|
7 | ExcursionCategoryCode | Allows to specify particular excursion category user is interested in. Info |
---|
Note: ExcursionCategoryCode works for Search by country code and for Search by city code. |
| Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCategoryCode="SHOW" ExcursionCityCode="1005" ExcursionCodeContext="supplierCode"/>
</Criterion> |
|
8 |
8 | ExcursionSubCategoryCode | Allows to specify particular excursion subcategory user is interested in. Is used together with the ExcursionCategoryCode attribute. See full list of excursion subcategories supported in HUB in Excursion Subcategories. | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCategoryCode="SPORT" ExcursionSubCategoryCode="1" ExcursionCityCode="1005" ExcursionCodeContext="supplierCode"/>
</Criterion> |
|
9 | Pagination search | Allows to receive results in parts. To start a pagination search AllowPartialAvail attribute should be true in Availability request. HUB returns available offers until MoreIndicator is true on Availability response. Pagination search can be interrupted after each Availability request. If part of received offers is enough no need to send other Availability requests despite the fact that the MoreIndicator is true on Availability response. Check diagram below for case when you should receive all available offers. Info |
---|
Note: AllowPartialAvail=”true” works for Search by country code and for Search by city code. |
| You can see pagination search example after diagram below. |
...
Diagram 24.1.1.1. Pagination search process.
...
Expand |
---|
title | Paginationn Search Sample XML |
---|
|
First Availability request with AllowPartialAvail="true": Code Block |
---|
| <GP_ExcursionAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" AllowPartialAvail="true" AvailRatesOnly="false" EchoToken="EchoToken" PrimaryLangID="en" RequestedCurrency="EUR" Version="2">
<POS>
<Source>
<RequestorID ID="client" MessagePassword="pwd" Type="22"/>
<BookingChannel PriceDomain="1" Type="7"/>
</Source>
</POS>
<AvailRequestSegments>
<AvailRequestSegment>
<ExcursionStartDateRange End="2021-09-16" Start="2020-07-14"/>
<ExcursionCandidates>
<ExcursionCandidate RPH="1">
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1"/>
</GuestCounts>
</ExcursionCandidate>
</ExcursionCandidates>
<ExcursionSearchCriteria>
<Criterion>
<ExcursionRef ExcursionCityCode="1005" ExcursionCodeContext="supplierCode"/>
</Criterion>
</ExcursionSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</GP_ExcursionAvailRQ> |
First Availability response with MoreDataEchoToken and MoreIndicator="true": Code Block |
---|
| <GP_ExcursionAvailRS EchoToken="EchoToken" Version="2.0" xmlns="http://www.opentravel.org/OTA/2003/05">
<Success/>
<Excursions MoreDataEchoToken="200615162807.710491" MoreIndicator="true">
<Excursion>
<ExcursionRates>
<ExcursionRate AvailabilityStatus="OnRequest" BookingCode="529694775" Language="Unescorted" NonRefundable="true" NumberOfUnits="8" RateCode="366484" RateName="Day Race - General Admission">
<Rates>
<Rate AgeQualifyingCode="10" RateSource="Calculated">
<Total AmountAfterTax="115.00" CurrencyCode="EUR"/>
</Rate>
</Rates>
<Total AmountAfterTax="115.00" CurrencyCode="EUR"/>
<Services>
<Service Inclusive="false" RequiredInd="true" ServiceRPH="1"/>
</Services>
<ExcursionDate End="2020-08-30" Start="2020-08-30"/>
</ExcursionRate>
<ExcursionRate AvailabilityStatus="OnRequest" BookingCode="529694375" Language="Unescorted" NonRefundable="true" NumberOfUnits="8" RateCode="366485" RateName="Day Race | Abbey Grandstand">
<Rates>
<Rate AgeQualifyingCode="10" RateSource="Calculated">
<Total AmountAfterTax="138.00" CurrencyCode="EUR"/>
</Rate>
</Rates>
<Total AmountAfterTax="138.00" CurrencyCode="EUR"/>
<Services>
<Service Inclusive="false" RequiredInd="true" ServiceRPH="1"/>
</Services>
<ExcursionDate End="2020-08-30" Start="2020-08-30"/>
</ExcursionRate>
</ExcursionRates>
<Services>
<Service ServiceRPH="1" SpecialServiceType="DeliveryToAddress">
<Price>
<Base AmountAfterTax="22.00" CurrencyCode="EUR"/>
</Price>
<ServiceDetails ShortName="Home Delivery (might change to collection at the event city)">...</ServiceDetails>
</Service>
</Services>
<BasicExcursionInfo ExcursionCityCode="1005" ExcursionCode="290131" ExcursionCodeContext="supplierCode" ExcursionCountryCode="1003" ExcursionName="British Grand Prix: Race (Weekend) (MotoGP)">
<Tournament Code="33" Name="MotoGP (Motorbike Racing)"/>
<Categories>
<Category Code="SPORT">...</Category>
</Categories>
<Departures>
<Departure RPH="1">
<DeparturePoint Type="MeetingPoint">Silverstone Circuit</DeparturePoint>
<DeparturePoint Type="Image">https://www.sportsevents365.com/images/venues/thumbs/silverstonemotogp.png</DeparturePoint>
<StartTimes>
<StartTime>08:30:00</StartTime>
</StartTimes>
<Address>...</Address>
<Position Latitude="52.0786" Longitude="-1.01694"/>
</Departure>
</Departures>
<MultimediaDescriptions>...</MultimediaDescriptions>
</BasicExcursionInfo>
</Excursion>
...
</Excursions>
</GP_ExcursionAvailRS> |
Second Availability request with AllowPartialAvail=true and MoreDataEchoToken from previous Availability response: Code Block |
---|
| <GP_ExcursionAvailRQ xmlns="http://www.opentravel.org/OTA/2003/05" AllowPartialAvail="true" AvailRatesOnly="false" EchoToken="EchoToken" PrimaryLangID="en" RequestedCurrency="EUR" Version="2">
<POS>
<Source>
<RequestorID ID="client" MessagePassword="pwd" Type="22"/>
<BookingChannel PriceDomain="1" Type="7"/>
</Source>
</POS>
<AvailRequestSegments>
<AvailRequestSegment MoreDataEchoToken="200615162807.710491">
<ExcursionStartDateRange End="2021-09-16" Start="2020-07-14"/>
<ExcursionCandidates>
<ExcursionCandidate RPH="1">
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1"/>
</GuestCounts>
</ExcursionCandidate>
</ExcursionCandidates>
<ExcursionSearchCriteria>
<Criterion>
<ExcursionRef ExcursionCityCode="1005" ExcursionCodeContext="supplierCode"/>
</Criterion>
</ExcursionSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</GP_ExcursionAvailRQ> |
Second Availability response with MoreDataEchoToken and MoreIndicator="false": Code Block |
---|
| <GP_ExcursionAvailRS EchoToken="EchoToken" Version="2.0" xmlns="http://www.opentravel.org/OTA/2003/05">
<Success/>
<Excursions MoreDataEchoToken="200615162807.710491" MoreIndicator="false">
<Excursion>
<ExcursionRates>
<ExcursionRate AvailabilityStatus="OnRequest" BookingCode="52aefe775" Language="Unescorted" NonRefundable="true" NumberOfUnits="6" RateCode="365431" RateName="Block A1 - Hospitality Seats | Exclusive access to the American Express Hospitality Lounge, which is located right behind the seats on the lower tier
Fine dining to be booked directly in the lounge (not available to book in advance)
Wide variety of drinks and cocktails to be served in the lounge (cash base)
Live entertainment in the lounge before and after the event
Exclusive drop-off point for taxi or private car
With Fast-Track entry you will skip all the queues">
<Rates>
<Rate AgeQualifyingCode="10" RateSource="Calculated">
<Total AmountAfterTax="655.00" CurrencyCode="EUR"/>
</Rate>
</Rates>
<Total AmountAfterTax="655.00" CurrencyCode="EUR"/>
<Services>
<Service Inclusive="false" RequiredInd="true" ServiceRPH="1"/>
</Services>
<ExcursionDate End="2020-10-16" Start="2020-10-16"/>
</ExcursionRate>
</ExcursionRates>
<Services>
<Service ServiceRPH="1" SpecialServiceType="SelfPickUp">
<Price>
<Base AmountAfterTax="12.00" CurrencyCode="EUR"/>
</Price>
<ServiceDetails ShortName="Hotel Delivery (might change to E-Ticket / Collection point)">...</ServiceDetails>
</Service>
</Services>
<BasicExcursionInfo ExcursionCityCode="1005" ExcursionCode="290169" ExcursionCodeContext="supplierCode" ExcursionName="Andrea Bocelli-London, England">
<Competitors>
<Competitor Code="5537" Name="Andrea Bocelli"/>
</Competitors>
<Tournament Code="179" Name="Concerts (Entertainment)"/>
<Categories>...</Categories>
<Departures>
<Departure RPH="1">
<DeparturePoint Type="MeetingPoint">The O2</DeparturePoint>
<DeparturePoint Type="Image">https://www.sportsevents365.com/images/venues/thumbs/o2londonseating.png</DeparturePoint>
<StartTimes>
<StartTime>20:00:00</StartTime>
</StartTimes>
<Address>...</Address>
<Position Latitude="51.5028" Longitude="0.003117"/>
</Departure>
</Departures>
<VendorMessages>...</VendorMessages>
</BasicExcursionInfo>
</Excursion>
...
</Excursions>
</GP_ExcursionAvailRS> |
|
...
4.1.2. SEARCH BY EXCURSION CODE
Search by ExcursionCode works only within ExcursionCityCode:
...
Code Block |
---|
|
<Criterion>
<ExcursionRef ExcursionCityCode="12175" ExcursionCode="HAMPTON" ExcursionCodeContext="GEO.supplierCode"/>
</Criterion> |
...
4.1.3. SEARCH BY TOURNAMENT
| Search by | Description | Search example |
---|
1 | Tournament code from supplier context | Allows to search excursions (event or sport match) by tournament code. E.g. by supplier code for Champions League, you’ll get all possible events for a specified date range. Can be only in supplier context! | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCodeContext="supplierCode" TournamentCode="335"/>
</Criterion> |
|
2 | Pagination search | Allows to receive results in parts. To start a pagination search AllowPartialAvail attribute should be true in Availability request. HUB returns available offers until MoreIndicator is true on Availability response. Pagination search can be interrupted after each Availability request. If part of received offers is enough no need to send other Availability requests despite the fact that the MoreIndicator is true on Availability response. Check diagram above for case when you should receive all available offers. Info |
---|
Note: AllowPartialAvail=”true” works for Search by country code and for Search by city code. |
| You can see pagination search example after diagram above. |
3 | Country code (or city code) + Tournament code | Allows to search excursions by country or city code and tournament code. | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCodeContext="supplierCode" ExcursionCountryCode="1003" TournamentCode="432"/>
</Criterion> |
|
...
4.1.4. SEARCH BY COMPETITOR CODE
| Search by | Description | Search example |
---|
1 | Competitor code from supplier context | Allows to specify particular competitor (code of sports teams or musical bands or individual performers), user is interested in. Can be only in supplier context! | Code Block |
---|
| <Criterion>
<ExcursionRef CompetitorCode="3729" ExcursionCodeContext="supplierCode"/>
</Criterion> |
|
2 | Pagination search | Allows to receive results in parts. To start a pagination search AllowPartialAvail attribute should be true in Availability request. HUB returns available offers until MoreIndicator is true on Availability response. Pagination search can be interrupted after each Availability request. If part of received offers is enough no need to send other Availability requests despite the fact that the MoreIndicator is true on Availability response. Check diagram above for case when you should receive all available offers. Info |
---|
Note: AllowPartialAvail=”true” works for Search by country code and for Search by city code. |
| You can see pagination search example after diagram above. |
3 | Country code(or city code) + Competitor code | Allows to search excursions by country or city code and competitor code. | Code Block |
---|
| <Criterion>
<ExcursionRef ExcursionCodeContext="supplierCode" ExcursionCountryCode="1003" CompetitorCode="3580"/>
</Criterion> |
|
4.1.5. SEARCH BY VENUE
Search by ExcursionVenueCode. Allows to search excursions (event or sport match) by venue code in supplier context.
Code Block |
---|
|
<Criterion>
<ExcursionRef ExcursionVenueCode="1" ExcursionCodeContext="supplierCode"/>
</Criterion> |