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> |