User Tools

Site Tools


ors-soap-api:public:register

This is an old revision of the document!


Register method

Register your booking. This method creates registration in ORS which can be used later to create booking. Registrations does not affect the stock.

Valid content types

  • pauschal
  • hotel
  • trips
  • charter
  • oneway
  • extras

Description

public array register( array $searchData, array $trip, array $headerData, boolean $booking = true )

Parameters

  • 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 Information
  • booking (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).

Return Values

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

Return parameters

  • offerTripInfo (array) : offer and trip info (check offertripinfo)
    • xmlReq : for internal use only
    • searchtermin_xmlReq : for internal use only
    • header (array) : information about a selected region and paging information (check trips method for this return array)
    • offer (array) : check trips method for this return array
    • trip (array) : check trips method for this return array
  • xmlReq : ors xml request used with this method
  • xmlRes : ors xml response used with this method
  • confirmation (array) : register status
    • mid : (1) registration created successfully, (0) error has occurred in creating registration
    • bkc : ORS internal registration number
  • 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 and registration was successfull
      • 2 : offer is on request and registration was successfull. If offer is on request, a person 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 touroperator return this info.
  • 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
    • rmk : user remarks (if user hasn't sent any remarks then this parameter is empty)
  • 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
    • str : street
    • cty : city
    • zip : zip code
    • eml : email
    • tel : telephone
    • personalID : personal ID number
    • country : ISO country code
  • 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 simple registration
$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'];
 
}

JSON Examples

@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]"
  }
}

Examples (Extras)

Before making a registration you must fist make offers request to get extras hash codes. Check offers on how to get different extras.

  • Example of simple registration 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).
$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 );
ors-soap-api/public/register.1573548376.txt.gz · Last modified: 2019/11/12 09:46 by admin