Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Search by excursion subcategories and search by venues were added
Table of Contents

...

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
languagexml
<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
languagexml
<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
languagexml
<Criterion>
   <ExcursionRef ExcursionCityCode="1005" ExcursionCodeContext="ABC.supplierCode"/>
</Criterion>
  • In this example "ABC" is a customer identifier. Ask about your specific identifier during integration.

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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
titlePaginationn Search Sample XML

First Availability request with AllowPartialAvail="true":

Code Block
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<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
languagexml
<Criterion>
   <ExcursionRef ExcursionVenueCode="1" ExcursionCodeContext="supplierCode"/>
</Criterion>