Table of contents
-
- Search methods
- Check methods
- Booking methods
- Info methods
Data export
- Methods
Table of contents
Data export
This is an old revision of the document!
Register your booking. This method creates registration in ORS which can be used later to create booking. Registrations does not affect the stock.
pauschal
hotel
trips
charter
oneway
extras
searchData (array)
: search and info parameters. Enter the same search parameters that you've used with trips method, because this will ensure that session won't expire, also include your personal information (email, address, name, …)trip (array)
: trip parameters (you will get this info from trips method). Required params are (hsc
and toc
, also sid
when using trips
content type.headerData (array)
: SOAP Header Informationbooking (bool)
: if true
then a method will create a valid registration in ORS, if false
then no registration will be made (use false
for testing on your server).Returns registration status and total price for all passengers. If session hasn't expired then this method will also return offer and trip info. Output is almost identical to check method.
Array ( [offerTripInfo] => Array ( [xmlReq] => [searchtermin_xmlReq] => [header] => Array ( [typ] => hotel [offers] => 1 [rgc] => [rgn] => 0 [rgg] => [rggn] => [pages] => 1 [perpage] => 20 [offset] => [sid] => 9h0f8a8kvi73h13mrju67cjbn0 ) [offer] => Array ( [pic] => http://www.ors.si/giata-pics/71088//full.jpg [gid] => 71088 [htn] => Feral [stc] => 4.0 [ovr] => 0 [oid] => 23887 [hon] => Brna [fcts] => bea=1,ben=1,chf=0,clb=0,ani=0,pol=1,wel=0,spt=1,sgl=0,stn=0,ski=0 [dtemp] => [wtemp] => [rgc] => 659 [rgn] => Dalmatia [rgg] => 100023 [rggn] => Croatia [geo] => 1 [lat] => 42.9045823966052000 [lon] => 16.8566189525687980 ) [trip] => Array ( [sub] => catalog [gid] => 71088 [toc] => PALM [tockoda] => 80657677 [ton] => Palma [rgc] => 659 [oid] => 2288 [zac] => EC [zackoda] => 6967 [zan] => economy room [vpc] => AI [vpckoda] => 6573 [vpn] => all inclusive [od] => aid=,iid=,lid=,vid=,zid=palm_22412 [htc] => LEHRV5041414 [svc] => 22412 EC AI [ahckoda] => [vnd] => 2014-10-16 [bsd] => 2014-10-18 [tdc] => 2 [md5p] => 097327bb91f2aafa0ebde7687bf4b412 [md5t] => 33e14d43b65576a64e5dafcb4380558f [hsc] => 33e14d43b65576a64e5dafcb4380558f [ppc] => 76 [alt] => 0 [top] => 0 [tocpic] => http://www.ors.si/ibe/ikonce/toc/palm.gif [aid] => [atx] => [iid] => [itx] => [lid] => [ltx] => [vid] => [vtx] => [zid] => palm_22412 [ztx] => 1/2+1 ECO AC; ALL LIGHT ) ) [confirmation] => Array ( [mid] => 1 [bkc] => 920140818145324 ) [response] => Array ( [mid] => 712 [ttp] => 213.00 [ttpd] => 0.00 [ppc] => 76.00 [txt] => Reservation possible, insert B command [status] => 1 ) [offer] => Array ( [typ] => hotel [toc] => PALM [ton] => Palma [tocp] => http://www.ors.si/ibe/ikonce/toc/palm.gif [htc] => LEHRV504141486 [gid] => 71088 [hon] => KORČULA [oid] => [desc] => [zac] => EC [zan] => economy room [vpc] => AI [vpn] => all inclusive [svc] => 22412 EC AI [stc] => [htn] => Hotel Feral 4* [zhc] => DBV [zhn] => Dubrovnik (Kroatien) [ahc] => [ahn] => [vnd] => 16.10.2014 [bsd] => 18.10.2014 [tdc] => 2 [sub] => catalog [sid] => [sin] => [ovr] => 0 [pic] => http://www.ors.si/giata-pics/71088/full.jpg ) [operator] => Array ( [toc] => PALM [hsc] => 33e14d43b65576a64e5dafcb4380558f [agt] => 454085 [rmk] => ) [travellers] => Array ( [0] => Array ( [id] => 1 [typ] => H [sur] => Smith [pre] => John [tvp] => 76 [age] => 09091982 [str] => [cty] => [zip] => [eml] => [tel] => [personalID] => [country] => [vatnr] => [promo] => ) [1] => Array ( [id] => 2 [typ] => D [sur] => Smith [pre] => Martha [tvp] => 76 [age] => 08101981 [str] => [cty] => [zip] => [eml] => [tel] => [personalID] => [country] => [vatnr] => [promo] => ) [2] => Array ( [id] => 3 [typ] => K [sur] => Smith [pre] => Tony [tvp] => 61 [age] => 12012000 [str] => [cty] => [zip] => [eml] => [tel] => [personalID] => [country] => [vatnr] => [promo] => ) ) [info] => Array ( [0] => Room type: 1/2+1 ECO AC; ALL LIGHT [1] => Hotel Feral 4* [2] => Code: LEHRV504141486 [3] => City: KORCULA [4] => Room: economy room [5] => Service: all inclusive [6] => Service code: 22412 EC AI [7] => -------------------------------------------------------------- [8] => CRS powered by ORS XTREME ) [errorNr] => [error] => [xmlReq] =>
offerTripInfo
(array) : offer and trip info (check offertripinfo)xmlReq
: for internal use onlysearchtermin_xmlReq
: for internal use onlyheader (array)
: information about a selected region and paging information (check trips method for this return array)offer (array)
: check trips method for this return arraytrip (array)
: check trips method for this return arrayxmlReq
: ors xml request used with this methodxmlRes
: ors xml response used with this methodconfirmation (array)
: register statusmid
: (1) registration created successfully, (0) error has occurred in creating registrationbkc
: ORS internal registration numberresponse (array)
: availability status, message and a total pricemid
: availability message ID (check Message IDs for a list of possible values)txt
: availability text message (message is in selected language and it depends on mid
value)status
: availability status. ttp
: total price for all passengersppc
: price per person (in situations when there is a price per room then this value will be empty or zero)ttpd
: this is a reserved parameter!offer (array)
: this are an offer information directly from touroperator. This values may differ from offerTripInfo
information!typ
: content typesub
: sub categorytoc
: touroperator codeton
: touroperator nametocp
: touroperator logohtc
: hotel code (or product code)gid
: accommodation GIATA IDhon
: city nameoid
: city IDdesc
: reserved parameterzac
: room type codezan
: room type namevpc
: service type codevpn
: service type namesvc
: service codehtn
: accommodation namestc
: hotel categoryzhc
: destination code (IATA code)zhn
: destination nameahc
: departure airport code (IATA code)ahn
: departure airport namevnd
: checkin datebsd
: checkout datetdc
: durationsid
: bus stop id (only for trips
content type)sin
: bus stop nameidp
: offer ID (use this to search extras
services that are in combination with accommodation)ovr
: overall ratingpic
: full pictureactions (array)
: promotions used with this offer. This is currently experimental because not all touroperator return this info.operator (array)
: used action, touroperator info and trip hash codeact
: actiontoc
: touroperator codehsc
: unique trip hash code used for this check method agt
: agency numberrmk
: user remarks (if user hasn't sent any remarks then this parameter is empty)travellers (array)
: passengers infoid
: passenger sequence numbertyp
: passenger sex / type. Possible values: sur
: last namepre
: first nameage
: age / birthdaytvp
: price for this personstr
: streetcty
: cityzip
: zip codeeml
: emailtel
: telephonepersonalID
: personal ID numbercountry
: ISO country codeinfo
: touroperator information text. This text is directly from selectged touroperator and can be in different language. Usually this text contains important information about checked offer.errorNr
: error numbererror
: error message$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 'ka1' => '14', // age of first child 'gid' => '71088', // selected hotel by GIATA ID 'eml' => 'myemail@gmail.com', // required parameter ! 'zip' => '12345', // required parameter ! 'str' => '31st Park street', // required parameter ! 'cty' => 'London', // required parameter ! 'tel' => '00386 03 123 456', // telephone 'mob' => '00386 41 222 444', // mobile 'sur1' => 'Smith', // required parameter ! 'pre1' => 'John', // required parameter ! 'sur2' => 'Smith', // required parameter ! 'pre2' => 'Martha', // required parameter ! 'sur3' => 'Smith', // required parameter ! 'pre3' => 'Tony', // required parameter ! 'anrede1' => 'H', // required parameter ! 'anrede2' => 'D', // required parameter ! 'anrede3' => 'K', // required parameter ! 'age1' => '09091982', // birth day of first passenger (format: 'dmY') - 9th sep 1982 'age2' => '08101981', // birth day of second passenger (format: 'dmY') - 8th oct 1081 'age3' => '01122000', // birth day of third passenger (format: 'dmY') - 1st dec 2000 'rmk' => 'My remark...', // customer remark ); $trip = array( 'hsc' => '33e14d43b65576a64e5dafcb4380558f', // unique trip hash code 'toc' => 'PALM' // toruoperator code ); // test register method ($booking = false) $register = $soapClient->orsxml_hotel_api_call( 'register', $searchParams, $trip, $headerData, false ); // create registration ($booking = true) $register = $soapClient->orsxml_hotel_api_call( 'register', $searchParams, $trip, $headerData, true ); // check status and total price if ($register['response']['status'] == 1) { echo "Registration was successfull. \n"; echo "Total price: " . $register['response']['ttp']; } if ($register['response']['status'] == 2) { echo "Registration on request was successfull.\n"; echo "Total price: " . $register['response']['ttp']; } if ($register['response']['status'] == 0 || $register['response']['status'] == 4) { echo "Can't create registration, offer is not available"; } if ($register['response']['status'] == 3) { echo "Can't create registration, Communication error. Please try again. \n"; echo "Touroperator message: " . $register['response']['txt']; } if ($register['response']['status'] == 5) { echo "Can't create registration, Check touroperator message: " . $register['response']['txt']; }
@see ORS JSON API how to post request.
{ "requestType" : "book", "action": "register", "search": { "typ": "hotel", "hsc": "509fd42d2fe71bc3396830b207d4bb92", "toc": "PALM", "eml": "gregor.flajs@ors.si", "zip": "3310", "str": "ulica", "cty": "zalec", "sur1": "Flajs", "sur2": "Test", "sur3": "Child", "pre1": "Gregor", "pre2": "Lady", "pre3": "Kid", "anrede1": "H", "anrede2": "D", "anrede2": "K", "age": "2005-06-11", "rmk": "TEST REGISTRAION" }, "booking": true, "header": { "lang": "[lang]", "usr" : "[usr]", "pass": "[pass]", "agid": "[agid]" } }
Before making a registration you must fist make offers
request to get extras hash codes. Check offers on how to get different extras.
$searchParams
is a bit different. Accommodations and extras are entered as arrays. You can book different accommodations with more then one room (be careful that you place persons correctly). $searchParams = array( 'vnd' => '30.10.2014', // start date 'bsd' => '15.11.2014', // end date 'tdc' => '1-4', // duration [min-max] days 'epc' => '4', // number of adults 'eml' => 'myemail@gmail.com', // required parameter ! 'zip' => '12345', // required parameter ! 'str' => '31st Park street', // required parameter ! 'cty' => 'London', // required parameter ! 'tel' => '00386 03 123 456', // telephone 'mob' => '00386 41 222 444', // mobile 'sur1' => 'Smith', // required parameter ! 'pre1' => 'John', // required parameter ! 'sur2' => 'Smith', // required parameter ! 'pre2' => 'Martha', // required parameter ! 'sur3' => 'Forrester', // required parameter ! 'pre3' => 'Tim', // required parameter ! 'sur4' => 'Forrester', // required parameter ! 'pre4' => 'Amanda', // required parameter ! 'anrede1' => 'H', // required parameter ! 'anrede2' => 'D', // required parameter ! 'anrede3' => 'H', // required parameter ! 'anrede4' => 'D', // required parameter ! // accommodations 'hotel' => array( // first accommodation '2262:4862:ZAD22627102:7102:OV:2014-08-16:2014-08-23' => array( // first room (for 1st and 2nd person) 0 => array( 'hsc' => '2262:4862:ZAD22627102:7102:OV:2014-08-16:2014-08-23', // offer hash code 'psn' => '1,2', // 1st and 2nd person ), // second room (for 3rd and 4th person) 1 => array( 'hsc' => '2262:4862:ZAD22627102:7102:OV:2014-08-16:2014-08-23', // offer hash code 'psn' => '3,4', // 3rd and 4th person ) ) ) // extras 'extras' => array( // 1st extras (for all persons) '199|0||0|2014-08-18|2014-08-18|2014-08-18' => array( 'hsc' => '199|0||0|2014-08-18|2014-08-18|2014-08-18', 'psn' => '1,2,3,4' ), // 2nd extras (for first two persons) '751|0||0|2014-08-18|2014-08-18|2014-08-18' => array( 'hsc' => '751|0||0|2014-08-18|2014-08-18|2014-08-18', 'psn' => '1,2' ) ), ); $trip = array( 'hsc' => 'x', // when booking packages, then just place 'x' for this parameter 'toc' => 'CMT' // touroperator code ); // test register method ($booking = false) $register = $soapClient->orsxml_hotel_api_call( 'register', $searchParams, $trip, $headerData, true );
* Example of registering only extra services (without accommodation)
$searchParams = array( 'epc' => '2', // number of adults 'eml' => 'myemail@gmail.com', // required parameter ! 'zip' => '12345', // required parameter ! 'str' => '31st Park street', // required parameter ! 'cty' => 'London', // required parameter ! 'tel' => '00386 03 123 456', // telephone 'mob' => '00386 41 222 444', // mobile 'sur1' => 'Smith', // required parameter ! 'pre1' => 'John', // required parameter ! 'sur2' => 'Smith', // required parameter ! 'pre2' => 'Martha', // required parameter ! 'anrede1' => 'H', // required parameter ! 'anrede2' => 'D', // required parameter ! // extras 'extras' => array( // 1st extras (for all persons) '199|0||0|2014-08-18|2014-08-18|2014-08-18' => array( 'hsc' => '199|0||0|2014-08-18|2014-08-18|2014-08-18', 'psn' => '1,2' ), ), ); $trip = array( 'hsc' => 'x', // when booking packages, then just place 'x' for this parameter 'toc' => 'CMT' // touroperator code ); // test register method ($booking = false) $register = $soapClient->orsxml_hotel_api_call( 'register', $searchParams, $trip, $headerData, false );