Table of Contents

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

Description

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

Parameters

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

Examples

$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",
    "age3": "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.

$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 );