User Tools

Site Tools


ors-soap-api:public:offers_method

Offers method

Get a list of offers.

Valid content types

  • pauschal
  • hotel
  • trips
  • (charter is not supported!)
  • (oneway is not supported!)
  • extras

Description

public array offers( array $searchData, array $headerData, array $topOffersFilter = array(), boolean $cleanUrl = true )

Parameters

  • searchData (array) : search parameters. Required serach parameters: vnd, bsd, epc, tdc
  • headerData (array) : SOAP Header Information
  • topOffersFilter (array) : top offers filter. Results that match this filter will be listed under array('top_offers' ⇒ …)

Example $topOffersFilter:

array(
    'toc' => 'FTI, 5VF',    // tour operator must be FTI or 5VF      
    'stc' => 4              // hotel category must be 4 or grater
)
  • cleanUrl (bool) : TRUE returns clean friendly URLs.

Return Values

Returns a list of available offers. Here is an example of output:

Array
(
    [header] => Array
        (
            [typ] => hotel
            [offers] => 138
            [rgc] => 659
            [rgn] => Dalmatia
            [rgg] => 100023
            [rggn] => Croatia
            [pages] => 10
            [perpage] => 15
            [offset] => 
            [sid] => b8hf8e9qene0lf8v46lujkokl2
        )

    [top_offers] => Array
        (
        )

    [offers] => Array
        (
            [0] => Array
                (
                    [htn] => Feral
                    [gid] => 71088
                    [pic] => http://www.ors.si/giata-pics/71088//thumb.jpg
                    [hon] => Brna
                    [zhn] => Dalmacija (HrvaĹĄka)
                    [zhc] => 4CR,DBV
                    [oid] => 23887
                    [stc] => 4.0
                    [ovr] => 100
                    [emf] => 80
                    [cnt] => 3
                    [pax] => št. oseb
                    [rooms] => 1
                    [bedrooms] => 1
                    [ppc] => 27.00
                    [tdc] => 1
                    [rgc] => 659
                    [rgn] => Dalmatia
                    [rgg] => 100023
                    [rggn] => Croatia
                    [picf] => http://www.ors.si/giata-pics/71088//full.jpg
                    [geo] => 1
                    [lat] => 42.9045823966052000
                    [lon] => 16.8566189525687980
                    [url] => croatia/brna/feral/100023/659/71088/?epc=2&vnd=1&bsd=300&toc=&tdc=1-7&rgc=659&sel[gid]=71088
                    [vpcs] => Array
                        (
                            [HP] => half board
                            [AI] => all inclusive
                            [UF] => bed & breakfast
                        )

                    [zacs] => Array
                        (
                            [DZ] => double room
                            [EC] => economy room
                        )

                    [tocs] => Array
                        (
                            [TERR] => Terra Reisen
                            [PALM] => Palma
                        )

                    [facts] => Array
                        (
                            [bea] => Array
                                (
                                    [code] => bea
                                    [value] => bea
                                    [status] => 1
                                )
                          
                            [pol] => Array
                                (
                                    [code] => pol
                                    [value] => pol
                                    [status] => 1
                            
                            [ski] => Array
                                (
                                    [code] => ski
                                    [value] => ski
                                    [status] => 0
                                )

                        )

                )

...
    [filters] => Array
        (
            [toc] => Array
                (
                    [selected] => 0
                    [val] => Array
                        (
                            [PALM] => Palma
                            [TERR] => Terra Reisen
                        )

                )

            [zac] => Array
                (
                    [selected] => 0
                    [val] => Array
                        (
                            [AP] => apartment
                            [DZ] => double room
                            [FZ] => family room
                        )

                )

            [vpc] => Array
                (
                    [selected] => 0
                    [val] => Array
                        (
                            [UF] => bed & breakfast
                            [HP] => half board
                        )

                )

            [stc] => Array
                (
                    [selected] => 0
                    [val] => Array
                        (
                            [0.0] => 0.0
                            [3.0] => 3.0
                            [4.0] => 4.0
                        )

                )

            [ovr] => Array
                (
                    [selected] => 0
                )

            [oid] => Array
                (
                    [selected] => 0
                    [val] => Array
                        (
                            [573] => Bled
                        )

                )
        )
        
    [rfilters] => Array
        (
          [ppc] => "56-112"
        )

    [sorts] => Array
        (
            [htn] => 0
            [hon] => 0
            [stc] => 0
            [ovr] => 0
            [gid] => 0
            [emf] => 0
            [ppc] => asc
        )
...

Return values (Extras)

When searching for extras you'll get different return values.

Array
(
    [header] => Array
        (
            [typ] => extras
            [offers] => 1
            [pages] => 1
            [page] => 1
            [sid] => esnme76mer643ssgokmob3d8j3
        )

    [offers] => Array
        (
            [0] => Array
                (
                    [id] => 199
                    [ide] => 199
                    [opt] => 0
                    [time] => 
                    [opt_name] => 
                    [etype] => 1
                    [etype2] => 0
                    [transfer] => 0
                    [fzhc] => 
                    [foid] => 
                    [tzhc] => 
                    [toid] => 
                    [fzhn] => 
                    [fhon] => 
                    [tzhn] => 
                    [thon] => 
                    [calc_in_ttp] => 
                    [htn] => Sonus Festival Ticket
                    [description] => 18.08.-22.08.2014
                    [vnd] => 2014-08-18
                    [bsd] => 2014-08-22
                    [extras_dates] => 
                    [ton] => CMT  d.o.o.
                    [ido] => 23
                    [thumb_pic] => http://www.ors.si/sellitx/phps/sellit/showPic.php?type=extraspic&picname=&rnd=493807
                    [ppc] => 139
                    [hsc] => 199|0||0|2014-08-18|2014-08-22|
                    [url] => ?vnd=18.08.2014&bsd=22.08.2014&tag=sonus%2Cfestivalticket&epc=2&toc=CMT&sel[gid]=
                    [options] => Array
                        (
                            [0] => Array
                                (
                                    [id] => 0
                                    [name] => default
                                    [oid] => 
                                    [zhc] => 
                                    [hon] => 
                                    [zhn] => 
                                    [ppc] => 695
                                    [ttp] => 1390
                                    [stock] => -1
                                    [hsc] => 199|0||0|2014-08-18|2014-08-22|
                                    [rates] => Array
                                        (
                                            [2014-08-18] => Array
                                                (
                                                    [datum] => 2014-08-18
                                                    [ppc] => 139
                                                    [hsc] => 199|0||0|2014-08-18|2014-08-18|2014-08-18
                                                )

                                            [2014-08-19] => Array
                                                (
                                                    [datum] => 2014-08-19
                                                    [ppc] => 139
                                                    [hsc] => 199|0||0|2014-08-19|2014-08-19|2014-08-19
                                                )

                                            [2014-08-20] => Array
                                                (
                                                    [datum] => 2014-08-20
                                                    [ppc] => 139
                                                    [hsc] => 199|0||0|2014-08-20|2014-08-20|2014-08-20
                                                )

                                            [2014-08-21] => Array
                                                (
                                                    [datum] => 2014-08-21
                                                    [ppc] => 139
                                                    [hsc] => 199|0||0|2014-08-21|2014-08-21|2014-08-21
                                                )

                                            [2014-08-22] => Array
                                                (
                                                    [datum] => 2014-08-22
                                                    [ppc] => 139
                                                    [hsc] => 199|0||0|2014-08-22|2014-08-22|2014-08-22
                                                )

                                        )

                                )

                        )

                )

        )

Return parameters

  • header (array) : information about a selected region and paging information
    • typ : content type
    • offers : number of offers found
    • pages : number of pages
    • perpage : records per page
    • offset : current page (first page have offset 0, second page have offset 1, …)
    • sid : session id used
    • rgc : selected region code (ID)
    • rgn : selected region name
    • rgg : selected region group code (ID)
    • rggn : selected region group name
  • top_offers (array) : a list of top offfers (this list depends on a filter $topOffersFilter, if this filter is not set then this array is empty.
  • offers (array) : a list of offers
    • htn : accommodation name
    • gid : accommodation GIATA ID
    • pic : picture thumbnail
    • stc : hotel category
    • ovr : overall rating
    • emf : users recommendation (in percents)
    • cnt : number of reviewers
    • pax : number of persons
    • rooms : number of rooms
    • bedrooms : number of bedrooms
    • hon : city name
    • oid : city ID
    • zhn : destination name
    • zhc : destination code (IATA code)
    • rgc : region code (ID)
    • rgn : region name
    • rgg : region group ID
    • rggn : region group name
    • picf : full picture
    • geo : does this accommodatin have a geo location codes (1) or not (0)
    • lat : latitude
    • lon : longitude
    • ppc : lowest price per person for this region
    • url : a suggested URL with search parameters for trips method
    • vpcs (array) : a list of all services that this accommodation offers
    • zacs (array) : a list of all room types that this accommodation offers
    • tocs (array) : a list of all touroperators that sels this accommodation
    • facts (array) : a list of all facts that this accommodation offers. Here is an entire list of facts available in ORS.
  • filters (array) : all possible filters
    • toc (array) : filters by touroperators
      • selected : (0) if this filter is not selected, (1) if this filter is selected
      • val (array) : a list of values you can use for this filter
    • zac : filters by room types
    • vpc : filters by service types
    • stc : filters by hotel category
    • ovr : filters by overall rating
    • oid : filters by city ID
  • rfilters (array) : range filters
    • ppc : filters by price per person
  • sorts (array) : possible sorting
    • htn : sort by hotel name
    • hon : sort by city
    • stc : sort by hotel category
    • ovr : sort by rating
    • ppc : sort by price (default sorting)

Return parameters (Extras)

Here is a list of return parameters when searching for content type extras

  • header (array) : header info
  • offers (array) : a list of offers
    • id : extras ID
    • ide : extras ID (same as id)
    • opt : option ID. Some extras have different options / variants. This is also a key in offers[0][options] (array), In simple extras like tickets, massage, … there is only one option and it has value 0.
    • opt_name : option name. For simple extras this is empty.
    • time : extras time (arrival time / checkin time). Some extras have different checkin time. Format: 'H:i:s'. For simple extras this is empty.
    • etype : extras inventory type.
      • 0 : if etype is 0 then this extras stock is dependent on each booked date. For example, a bus transfers has stock that is dependent on the date you book transfer.
      • 1 : if etype is 1 then this extras has a global stock, regardless of the booked date. For example, a tickets has a global stock.
    • etype2 : extras tyoe
      • 0 : Simple service. Simple service type is used for extras like tickets, bike riding, massage, … extras that have no other variants or different arrival times
      • 1 : Simple service with arrival times. This extras type extends simple service with different arrival times (for example: shuttle transfers with different pickup times)
      • 2 : Service with different options. This extras type extends simple service with different options (for example: bus transfers with different entry points)
      • 3 : Service with different options and arrival times. This extras type extends simple service with different options and arrival times (for example: bus transfers with different entry points and different entry points).
    • transfer : (1) means this is a transfer from point Airport to city (or from City to Airport). (0) means this is not a transfer.
    • fzhc : (only when transfer = 1), from Airport code
    • tzhc : (only when transfer = 1), to Airport code
    • foid : (only when transfer = 1), from City ID
    • toid : (only when transfer = 1), to City ID
    • fzhn : (only when transfer = 1), from Airport name
    • tzhn : (only when transfer = 1), to Airport name
    • fhon : (only when transfer = 1), from City name
    • thon : (only when transfer = 1), to City name
    • calc_in_ttp : (1) price is included in the package, (0) price is not included in package. When price is included in package, then this extras price is usually 0.
    • htn : extras name / title
    • description : extras description
    • vnd : start date
    • bsd : end date
    • extras_dates : selected dates
    • thumb_pic : picture thumbnail
    • ppc : price per person
    • hsc : unique hash code for this extras (use this code for booking)
    • url : experimental !
    • options (array) : different options / variants.
      • id : option ID
      • name : option name (when ID is 0 then option name is 'default')
      • ppc : price per person for this option
      • ttp : total price for all persons
      • stock : available stock for this option (if etype == 1 and stock == -1 then stock is unlimited)
      • hsc : unique hash code for this option
      • rates (array) : price rates for each selected date
        • #date : key for each rate is a date in format: 'Y-m-d'
        • datum : date
        • ppc : price per person
        • hsc : unique hash code for this option/date

Examples

  • Example with basic search parameters with selected region group ID
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '15.11.2014',       // end date
  'tdc' => '1-4',              // duration [min-max] days
  'epc' => '2',                // number of adults
  'rgcs' => '100023',          // region code for entire Coratia
);
 
$offers = $soapClient->orsxml_hotel_api_call( 'offers', $searchParams, $header );
  • Example : with basic search parameters with selected city
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '15.11.2014',       // end date
  'tdc' => '1-4',              // duration [min-max] days
  'epc' => '2',                // number of adults
  'hon' => 'bled'              // city
);
 
$offers = $soapClient->orsxml_hotel_api_call( 'offers', $searchParams, $header );
  • Example using filters
// filter offers using single filter
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '15.11.2014',       // end date
  'tdc' => '1-4',              // duration [min-max] days
  'epc' => '2',                // number of adults
  'rgcs' => '100023',          // region code for entire Coratia
  'filter' => array(
      'zac' => 'DZ'            // filter by room type (display only double rooms)
   )
  'rfilter' => array(
      'ppc' => '50-100'        // filter by price
   )
 
);
 
$offers = $soapClient->orsxml_hotel_api_call( 'offers', $searchParams, $header );
 
// filter offers using more then one filters
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '15.11.2014',       // end date
  'tdc' => '1-4',              // duration [min-max] days
  'epc' => '2',                // number of adults
  'rgcs' => '100023',          // region code for entire Coratia
  'filter' => array(
      'zac' => 'DZ',            // filter by room type (display only double rooms)
      'vpc' => 'AI,HP'          // filter by service type (display only all inclusive and halfboard offers)
   )
);
 
$offers = $soapClient->orsxml_hotel_api_call( 'offers', $searchParams, $header );
  • Example using sorting
// sort by hotel name (ascending order)
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '15.11.2014',       // end date
  'tdc' => '1-4',              // duration [min-max] days
  'epc' => '2',                // number of adults
  'rgcs' => '100023',          // region code for entire Coratia
  'sort' => 'htn|asc'          // sort by hotel name in ascending order
);
 
$offers = $soapClient->orsxml_hotel_api_call( 'offers', $searchParams, $header );
 
// sort by price (descending order)
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '15.11.2014',       // end date
  'tdc' => '1-4',              // duration [min-max] days
  'epc' => '2',                // number of adults
  'rgcs' => '100023',          // region code for entire Coratia
  'sort' => 'ppc|desc'         // sort by price in descending order
);
 
$offers = $soapClient->orsxml_hotel_api_call( 'offers', $searchParams, $header );
  • Example using paging
// return 4th page
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '15.11.2014',       // end date
  'tdc' => '1-4',              // duration [min-max] days
  'epc' => '2',                // number of adults
  'rgcs' => '100023',          // region code for entire Coratia
  'offset' => '3'              // display 4th page (offset 0 returns 1st page)
);
 
$offers = $soapClient->orsxml_hotel_api_call( 'offers', $searchParams, $header );

JSON Examples

@see ORS JSON API how to post request.

{
  "requestType" : "search",
  "action": "offers",
  "search": {
    "typ": "hotel",
    "vnd": "2018-01-10",
    "bsd": "2018-03-10",
    "tdc": "1-5",
    "rgcs": "100023",
    "epc": "2"
  },
  "top"  : {
    "toc" : "FTI",
    "stc" : "3" 
  },
  "header": {
    "lang": "[lang]",
    "usr" : "[usr]",
    "pass": "[pass]",
    "agid": "[agid]"
  }
}

Examples (Extras)

Searching for extras is a bit different.

  • Example searching for simple extras
// you must speficy one date (usually this is a checkin date if extras is used in combination with accommodation)
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '30.10.2014',       // end date
  'tag' => 'ticket',           // using tag 'ticket' (tags are defined by owner of extras)
  'epc' => '2',                // number of adults
  'toc' => 'ABC'               // touroperator code
);
 
$offers = $soapClient->orsxml_extras_api_call( 'offers', $searchParams, $header );
  • Example searching for simple extras with arrival times
// search for simple extras with times
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '30.10.2014',       // end date
  'time' => '10:00:00',        // arrival time (H:i:s)
  'tag' => 'bus',              // using tag 'ticket' (tags are defined by owner of extras)
  'epc' => '2',                // number of adults
  'toc' => 'ABC'               // touroperator code
);
 
$offers = $soapClient->orsxml_extras_api_call( 'offers', $searchParams, $header );
  • Example searching for inbound and outbound transfers
// search for inbound transfer
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '30.10.2014',       // end date
  'epc' => '2',                // number of adults  
  'transfer' => '1',           // search for transfer
  'foid' => '12225',           // from City ID
  'tzhc' => 'SPU',             // to airport (IATA code)
  'toc' => 'ABC'               // touroperator code
);
 
$inbound_offers = $soapClient->orsxml_extras_api_call( 'offers', $searchParams, $header );
 
// search for outbound transfer
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '30.10.2014',       // end date
  'epc' => '2',                // number of adults
  'transfer' => '1',           // search for transfer
  'fzhc' => 'ZAG',             // from airport (IATA code)
  'toid' => '12225',           // to City ID
  'toc' => 'ABC'               // touroperator code
);
 
$outbound_offers = $soapClient->orsxml_extras_api_call( 'offers', $searchParams, $header );
  • Example searching for extras that are in combination with accommodation (packages)
$searchParams = array(
  'vnd' => '30.10.2014',       // start date
  'bsd' => '30.10.2014',       // end date
  'epc' => '2',                // number of adults  
  'idp' => '1005',             // offer ID. This ID is located in 'Check method' response. Without this ID you won't get packaged extras
  'toc' => 'ABC'               // touroperator code
);
 
$offers = $soapClient->orsxml_extras_api_call( 'offers', $searchParams, $header );
ors-soap-api/public/offers_method.txt · Last modified: 2019/07/15 09:58 by admin