travelrez/rezb2b

Rezb2b connect with travelrez

This package's canonical repository appears to be gone and the package has been frozen as a result.


README

How to use code?

Connect APi


use Travelrez\Travelrez;

$gateway = Travelrez::create('Rezb2b');

$gateway->setTestMode(1);
$gateway->setApiKey('YOUR_API_KEY');

1 . Get Product Information


$response = $gateway->getProduct(array(
   "product_code" => "3"
))->send();

if($response->isSuccessful()){
   echo '<pre>';print_r($response->getResult());
}else{
   echo  "Error " .$response->getCode() . ': ' . $response->getMessage();
}

Request

Key Type Information
product_code string product code unique identifier (some time same code but diffrent channel)

Response

Key Type Information
provider_code string tour provider code
provider_id string tour provider id or channel_id
provider_name string tour provider name
name string tour name
product_entity_type string tour type
is_departure_date_required bool departure date required for booking ?
display_room_option bool display room option for booking?
min_per_booking int minimum person per booking
max_per_booking int maximum person per booking
duration string duration of tour
currency char currency 3 char code
default_price decimal default tour price
rates array see here
description text tour description
short_description text tour short description
images array see here
free_sale bool is tour free sale ?
pickup_locations array pickup locations
booking_fields array see here
first_available_date date First available date of operation
is_soldout boolean Is product sold out?

Rates

Key Type Information
rate_id string rate identifier
name string rate name
label string rate label
seats_used int seats will use for when select this rate
min_quantity int min quantity needed for select this rate
max_quantity int max quantity needed for select this rate
price decimal rate price start from (price is as per tour currency)
price_type string identify rates is per order , per person etc (future updates)

Images

Key Type Information
thumbnail_url string url of thubmnail of product
image_url string url of image of product
extra_image_url array extra images if there

BookingFields

Key Type Information
label string Booking field label
required_per_participant bool is field required per participant
required_per_booking bool is field required per booking
visible_per_participant bool is field visible per participant
visible_per_booking bool is field visible per booking
field_type string field type like TEXT
options array available options to choose
tips string tips for the field
use_for array need to display this field for which rate id eg. ALL / ADULT_RATE

2 . Get Product Avaiability


$response = $gateway->getProductAvailability(array(
	"product_code" => "3", // example product code
	"start_date"   => "YYYY-MM-DD",
	"end_date"     => "YYYY-MM-DD"
))->send();

if($response->isSuccessful()){
   echo '<pre>';print_r($response->getResult());die;	
}else{
   echo  "Error " .$response->getCode() . ': ' . $response->getMessage();
}

Request

Key Type Information
product_code string product code unique identifier
start_date date start date to find certain periods avaibility
end_date date end date to find certain periods avaibility

Response

Key Type Information
available_dates array list of all available tours see here
isAutoConfirm bool will tour be auto confirmed based on start date?

Availability

Key Type Information
departure_date date date available for booking
is_need_departure_time bool is departure time need when booking ?
departure_times array departure time available for that dates see here

DepartureTimes

Key Type Information
departure_time time departure time for date
rates array list of all availble rates for specific departure times see here

3 . Get Product Booking Request


$items = array(
	"product_code" => "3", // example product code
	"departure_start_date" => "YYYY-MM-DD",	
);

$response = $gateway->getProductBookingRequest($items)->send();

if($response->isSuccessful()){
   echo '<pre>';print_r($response->getResult());die;	
}else{
   echo  "Error " .$response->getCode() . ': ' . $response->getMessage();
}

Request

Key Type Information
product_code string product code unique identifier
departure_start_date date departure start date to get booking fields for

Response

Key Type Information
product_code int product id
product_name string product name
sale_quantity_rule string product sale quantity rule like person wise
price array product price see here
attributes array product attributes see here
pickup_on_request bool need pickup location from customer?
pickup_points array product pickup points see here

Price

Key Type Information
sale_currency char price currency
min_booking_size int minimum booking person can selected
spaces_remaining int space remaining for tour
total_price decimal product total price
total_price_display string only display purpose if you are converting price than do not use
price_breakdown string only display purpose if you are converting price than do not use

Attributes

Key Type Information
option_name string attribute option name
option_id int attribute option id
is_multi bool multiple option values can be selected?
required int number of options you can select
short_description text short description of option
option_selections array attributes options see here
total_price_display string only display purpose if you are converting price than do not use
price_breakdown string only display purpose if you are converting price than do not use

Options

Key Type Information
value int need to be used when option select
price double option price (Please note this is default price it will multiplied by person/qty/booking/duration)
option_sale_currency char currency used in price
text string option name
is_has_sub bool has sub options?
sub_options array available sub options see here

SubOptions

Key Type Information
value int need to be used when sub option select
price double sub option price (Please note this is default price it will multiplied by person/qty/booking/duration)
option_sale_currency char currency used in price
text string sub option name

Pickup

Key Type Information
pickup_key string send when booking it is value of that pickup
time string pickup time
pickup_name string pickup name
description string pickup description
address1 srting pickup address line 1
address2 srting pickup address line 2
postcode string postal code of pickup
geocode string geo code of location
pickup_on_request bool need pickup location from customer?
special_note string special note for pickup point

4 . Get Product Price Calculation


$items = array(
	"product_code" => "3", // example product code
	"departure_start_date" => "YYYY-MM-DD",	
	"rates" => array(
	    array(
	    	array(
		     "rate_id" => RATE_ID,
		     "qty"     => QTY
		),
		array(
		     "rate_id" => RATE_ID,
		     "qty"     => QTY
		)
	    )
	),
    "options" => array(
        "490" => array("280") // as rezb2b allow multiple upgrade
    )
);

$response = $gateway->getProductPriceCalculation($items)->send();

if($response->isSuccessful()){
   echo '<pre>';print_r($response->getResult());die;	
}else{
   echo  "Error " .$response->getCode() . ': ' . $response->getMessage();
}

Request

Key Type Information
product_code string product code unique identifier
departure_start_date date date of departure
rates array send booking array of rate with array("rate_id" => "ID of rate" , "qty" => 1)
options array send option and value together like "options" => array("490" => array("280"))

Response

Key Type Information
product_code int product code
provider_id int tour provider id
departure_start_date string tour start date in date format like "2018-03-15"
departure_end_date string tour end date in date format like "2018-03-15"
sale_currency char product currency
price array product price see here

ProductPrice

Key Type Information
total double tour total
sub_total double tour sub total
price_breakdown array only display purpose return how price was calculated
attribute_total double selected attribute's total

4 . Create order


$data = array(
  "items" => array(
    	"product_code" => "3", // example product code
    	"departure_start_date" => "YYYY-MM-DD",	
    	"rates" => array(
	   1 => array(
	    	array(
		    "rate_id" => ADULT_RATE,
		    "qty"     => 2,
	    	)
	   ),
    	),
	"options" => array(
            "490" => array(
	    	1680
	    )
        ),
	"participants" => array(
	    array(
		"first_name"  => "Foo1",
		"last_name"   => "Bar1"  
	    ),
	    array(
		"first_name"  => "Foo2",
		"last_name"   => "Bar2"  
	    )
	),
	"pickup_location" => "", // customer's pickup in case of pickup_on_request = 1 see 3. Get Product Booking Request 
	"departure_location" => "11:30 AM::Golden era park",
	"flight" => array(
		"arrival_airline_name" => "Air France",
		"arrival_flight_no" => "AF 356",
		"arrival_airport_name" => "YYZ",
		"arrival_date" => "2018-05-01",
		"arrival_time" => "12:00",
		"departure_airline_name" => "Air France",
		"departure_flight_no" => "AF 412",
		"departure_airport_name" => "YYZ",
		"departure_date" => "2018-05-04",
		"departure_time" => "16:10"
	)
   ),
   "customers" => array(
       "title"      => "Mr",
       "first_name" => "Pravin",
       "last_name"  => "Solanki",
       "email"      => "iipl.pravins@gmail.com",
       "telephone"  => +91 7896541230
   ),
   "note" => ""
);

$response = $gateway->createBooking($data)->send();

if($response->isSuccessful()){
   echo '<pre>';print_r($response->getResult());die;	
}else{
   echo  "Error " .$response->getCode() . ': ' . $response->getMessage();
}

Request

Key Type Information
items array item array see in example
customers array customers (travellers checkout options) array see in example
note string Special note from customer if any

Response

Key Type Information
booking_id string booking number
status string booking status string like confirmed or New

23-03-2018