This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
ors-soap-api:public:option_check [2015/01/24 18:30] admin created |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Check method ====== | ||
| - | Availability check. This method also returns a total price for all passengers. | ||
| - | |||
| - | ===== Valid content types ===== | ||
| - | |||
| - | * valid for ''all content types'' | ||
| - | |||
| - | ===== Description ===== | ||
| - | |||
| - | <code php> | ||
| - | public array check( array $searchData, array $trip, array $headerData ) | ||
| - | </code> | ||
| - | |||
| - | |||
| - | ===== Parameters ===== | ||
| - | |||
| - | * ''searchData (array)'' : search parameters. This parameter is optional but is preffered you use the same search parameters that you've used with [[trips|trips method]], because this will ensure that session won't expire, | ||
| - | * ''trip (array)'' : trip parameters (you will get this info from [[trips|trips method]]). Required params are (''hsc'' and ''toc'', also ''sid'' when using ''trips'' content type. | ||
| - | * ''headerData (array)'' : [[soap_header|SOAP Header Information]] | ||
| - | |||
| - | ===== Return Values ===== | ||
| - | |||
| - | Returns availability status and total price for all passengers. If session hasn't expired then this method will also return offer and trip info. | ||
| - | |||
| - | <code> | ||
| - | Array | ||
| - | ( | ||
| - | [offerTripInfo] => Array | ||
| - | ( | ||
| - | [xmlReq] => | ||
| - | |||
| - | |||
| - | [searchtermin_xmlReq] => | ||
| - | |||
| - | |||
| - | [header] => Array | ||
| - | ( | ||
| - | [typ] => hotel | ||
| - | [offers] => 1 | ||
| - | [rgc] => | ||
| - | [rgn] => 0 | ||
| - | [rgg] => | ||
| - | [rggn] => | ||
| - | [pages] => 1 | ||
| - | [perpage] => 20 | ||
| - | [offset] => | ||
| - | [sid] => 4u1u6nof70tngqqq3tgc0preo0 | ||
| - | ) | ||
| - | |||
| - | [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_22411 | ||
| - | [htc] => LEHRV5041414 | ||
| - | [svc] => 22411 EC AI | ||
| - | [ahckoda] => | ||
| - | [vnd] => 2014-10-16 | ||
| - | [bsd] => 2014-10-18 | ||
| - | [tdc] => 2 | ||
| - | [md5p] => 35a59b162e642f1df7c7c5664e46ffef | ||
| - | [md5t] => 172984d5ecb727f81e54a2f5db03a100 | ||
| - | [hsc] => 172984d5ecb727f81e54a2f5db03a100 | ||
| - | [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_22411 | ||
| - | [ztx] => 1/2 ECO AC; ALL LIGHT | ||
| - | ) | ||
| - | |||
| - | ) | ||
| - | |||
| - | [xmlReq] => | ||
| - | |||
| - | [xmlRes] => | ||
| - | | ||
| - | [response] => Array | ||
| - | ( | ||
| - | [mid] => 712 | ||
| - | [ttp] => 152.00 | ||
| - | [ttpd] => 0.00 | ||
| - | [ppc] => 76.00 | ||
| - | [txt] => Reservation possible, insert B command | ||
| - | [status] => 1 | ||
| - | ) | ||
| - | |||
| - | [offer] => Array | ||
| - | ( | ||
| - | [typ] => hotel | ||
| - | [sub] => catalog | ||
| - | [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] => 22411 EC AI | ||
| - | [stc] => | ||
| - | [htn] => Hotel Feral 4* | ||
| - | [zhc] => DBV | ||
| - | [zhn] => Dubrovnik (Kroatien) | ||
| - | [ahc] => | ||
| - | [ahn] => | ||
| - | [vnd] => 16.10.2014 | ||
| - | [bsd] => 18.10.2014 | ||
| - | [tdc] => 2 | ||
| - | [sid] => | ||
| - | [sin] => | ||
| - | [idp] => [IDP] | ||
| - | [ovr] => 0 | ||
| - | [pic] => http://www.ors.si/giata-pics/71088/full.jpg | ||
| - | ) | ||
| - | |||
| - | [actions] => Array | ||
| - | ( | ||
| - | ) | ||
| - | | ||
| - | [extras] => Array | ||
| - | ( | ||
| - | [0] => Array | ||
| - | ( | ||
| - | [info] => Array | ||
| - | ( | ||
| - | [id] => 27104:9:1 | ||
| - | [name] => POLPENZION | ||
| - | [price] => 6.00 | ||
| - | ) | ||
| - | |||
| - | ) | ||
| - | |||
| - | [1] => Array | ||
| - | ( | ||
| - | [info] => Array | ||
| - | ( | ||
| - | [id] => 27104:9:2 | ||
| - | [name] => POLNI PENZION | ||
| - | [price] => 13.00 | ||
| - | ) | ||
| - | |||
| - | ) | ||
| - | |||
| - | [2] => Array | ||
| - | ( | ||
| - | [info] => Array | ||
| - | ( | ||
| - | [id] => 27104:9:3 | ||
| - | [name] => KRAJŠE BIVANJE NA VPRAŠANJE | ||
| - | [price] => 6.80 | ||
| - | ) | ||
| - | |||
| - | ) | ||
| - | |||
| - | ) | ||
| - | |||
| - | [operator] => Array | ||
| - | ( | ||
| - | [act] => BA | ||
| - | [toc] => PALM | ||
| - | [hsc] => 172984d5ecb727f81e54a2f5db03a100 | ||
| - | [agt] => 454085 | ||
| - | ) | ||
| - | |||
| - | [travellers] => Array | ||
| - | ( | ||
| - | [0] => Array | ||
| - | ( | ||
| - | [id] => 1 | ||
| - | [typ] => H | ||
| - | [sur] => UDBBCSVN | ||
| - | [pre] => LTULCFCH | ||
| - | [tvp] => 76 | ||
| - | [age] => | ||
| - | ) | ||
| - | |||
| - | [1] => Array | ||
| - | ( | ||
| - | [id] => 2 | ||
| - | [typ] => H | ||
| - | [sur] => JLEJAETI | ||
| - | [pre] => FUVFXQCG | ||
| - | [tvp] => 76 | ||
| - | [age] => | ||
| - | ) | ||
| - | |||
| - | ) | ||
| - | |||
| - | [info] => Array | ||
| - | ( | ||
| - | [0] => Room type: 1/2 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: 22411 EC AI | ||
| - | [7] => CRS powered by ORS XTREME | ||
| - | ) | ||
| - | |||
| - | [exInfo] => Array | ||
| - | ( | ||
| - | ) | ||
| - | |||
| - | [errorNr] => | ||
| - | [error] => | ||
| - | ) | ||
| - | </code> | ||
| - | |||
| - | ===== Return parameters ===== | ||
| - | |||
| - | * ''offerTripInfo'' (array) : offer and trip info (check [[offertripinfo|offertripinfo]]) | ||
| - | * ''xmlReq'' : for internal use only | ||
| - | * ''searchtermin_xmlReq'' : for internal use only | ||
| - | * ''header (array)'' : information about a selected region and paging information (check [[trips|trips method]] for this return array) | ||
| - | * ''offer (array)'' : check [[trips|trips method]] for this return array | ||
| - | * ''trip (array)'' : check [[trips|trips method]] for this return array | ||
| - | * ''xmlReq'' : ors xml request used with this method | ||
| - | * ''xmlRes'' : ors xml response used with this method | ||
| - | * ''response (array)'' : availability status, message and a total price | ||
| - | * ''mid'' : 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. | ||
| - | * **0** : offer is not free | ||
| - | * **1** : offer is free (available to book) | ||
| - | * **2** : offer is on request. If offer is on request, a person can still book this offer but he/she must wait for a touroperator confirmation. | ||
| - | * **3** : communication error (something went wrong with communication between ORS and touroperator). | ||
| - | * **4** : offer is sold out (same as status 0) | ||
| - | * **5** : booking is not possible, you must check availability text message for detailed description of a problem | ||
| - | * ''ttp'' : total price for all passengers | ||
| - | * ''ppc'' : 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 type | ||
| - | * ''sub'' : sub category | ||
| - | * ''toc'' : touroperator code | ||
| - | * ''ton'' : touroperator name | ||
| - | * ''tocp'' : touroperator logo | ||
| - | * ''htc'' : hotel code (or product code) | ||
| - | * ''gid'' : accommodation GIATA ID | ||
| - | * ''hon'' : city name | ||
| - | * ''oid'' : city ID | ||
| - | * ''desc'' : reserved parameter | ||
| - | * ''zac'' : room type code | ||
| - | * ''zan'' : room type name | ||
| - | * ''vpc'' : service type code | ||
| - | * ''vpn'' : service type name | ||
| - | * ''svc'' : service code | ||
| - | * ''htn'' : accommodation name | ||
| - | * ''stc'' : hotel category | ||
| - | * ''zhc'' : destination code (IATA code) | ||
| - | * ''zhn'' : destination name | ||
| - | * ''ahc'' : departure airport code (IATA code) | ||
| - | * ''ahn'' : departure airport name | ||
| - | * ''vnd'' : checkin date | ||
| - | * ''bsd'' : checkout date | ||
| - | * ''tdc'' : duration | ||
| - | * ''sid'' : bus stop id (only for ''trips'' content type) | ||
| - | * ''sin'' : bus stop name | ||
| - | * ''idp'' : offer ID (use this to search ''extras'' services that are in combination with accommodation) | ||
| - | * ''ovr'' : overall rating | ||
| - | * ''pic'' : full picture | ||
| - | * ''actions (array)'' : promotions used with this offer. This is currently experimental because not all | ||
| - | * ''extras (array)'' : extra surcharges that can be booked | ||
| - | * ''info (array'' : extras information | ||
| - | * ''id'' : extras id | ||
| - | * ''name'' : extras name | ||
| - | * ''price'' : extras price | ||
| - | * ''operator (array)'' : used action, touroperator info and trip hash code | ||
| - | * ''act'' : action | ||
| - | * ''toc'' : touroperator code | ||
| - | * ''hsc'' : unique trip hash code used for this check method | ||
| - | * ''agt'' : agency number | ||
| - | * ''travellers (array)'' : passengers info | ||
| - | * ''id'' : passenger sequence number | ||
| - | * ''typ'' : passenger sex / type. Possible values: | ||
| - | * **H** : mr. | ||
| - | * **D** : mrs. | ||
| - | * **K** : child | ||
| - | * **B** : baby (infant) | ||
| - | * ''sur'' : last name | ||
| - | * ''pre'' : first name | ||
| - | * ''age'' : age / birthday | ||
| - | * ''tvp'' : price for this person | ||
| - | * ''info'' : 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 number | ||
| - | * ''error'' : error message | ||
| - | |||
| - | ===== Examples ===== | ||
| - | |||
| - | * Example of availability check | ||
| - | <code php> | ||
| - | $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 | ||
| - | 'gid' => '71088', // selected hotel by GIATA ID | ||
| - | ); | ||
| - | $trip = array( | ||
| - | 'hsc' => '172984d5ecb727f81e54a2f5db03a100', // unique trip hash code | ||
| - | 'toc' => 'PALM' // toruoperator code | ||
| - | ); | ||
| - | |||
| - | // availability check | ||
| - | $check = $soapClient->orsxml_hotel_api_call( 'check', $searchParams, $trip, $headerData ); | ||
| - | |||
| - | // check availability status and total price | ||
| - | if ($check['response']['status'] == 1) { | ||
| - | |||
| - | echo "Offer is available. \n"; | ||
| - | echo "Total price: " . $check['response']['ttp']; | ||
| - | |||
| - | } | ||
| - | | ||
| - | if ($check['response']['status'] == 2) { | ||
| - | |||
| - | echo "Offer is on request.\n"; | ||
| - | echo "Total price: " . $register['check']['ttp']; | ||
| - | | ||
| - | } | ||
| - | |||
| - | if ($check['response']['status'] == 0 || $check['response']['status'] == 4) { | ||
| - | |||
| - | echo "Offer is not available"; | ||
| - | |||
| - | } | ||
| - | |||
| - | if ($check['response']['status'] == 3) { | ||
| - | |||
| - | echo "Communication error. Please try again. \n"; | ||
| - | echo "Touroperator message: " . $check['response']['txt']; | ||
| - | | ||
| - | } | ||
| - | |||
| - | if ($check['response']['status'] == 5) { | ||
| - | |||
| - | echo "Unable to check offer, Check touroperator message: " . $check['response']['txt']; | ||
| - | | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | |||
| - | ===== Examples (Extras) ===== | ||
| - | |||
| - | Before making a check request with extras, you must fist make ''offers'' request to get extras hash codes. Check [[offers method|offers]] on how to get different extras. | ||
| - | |||
| - | * Example of check availability with extras (packages accommodation + extras). When booking packages a ''$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). | ||
| - | |||
| - | <code php> | ||
| - | $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 | ||
| - | | ||
| - | // 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 | ||
| - | ); | ||
| - | |||
| - | // check method | ||
| - | $check = $soapClient->orsxml_hotel_api_call( 'check', $searchParams, $trip, $headerData ); | ||
| - | |||
| - | </code> | ||
| - | |||
| - | * Example of check availability only extra services (without accommodation) | ||
| - | |||
| - | <code php> | ||
| - | $searchParams = array( | ||
| - | 'epc' => '2', // number of adults | ||
| - | | ||
| - | // 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 | ||
| - | ); | ||
| - | |||
| - | // check method (when using only extras, use 'extras' API call!!) | ||
| - | $check = $soapClient->orsxml_extras_api_call( 'check', $searchParams, $trip, $headerData ); | ||
| - | |||
| - | </code> | ||