This API used to get transfers list based on Search Criteria


HOW TO USE?

Use this to show available transfers for Magic Shuttle and Private Transfers


HEADERS TO USE FOR REQUEST


Parameter

Value

Description

Content-Type

application/json


APIKEY

as given you


AFFILIATECODE  

as given you

For Affiliate only. Not required for Tenant

TENANTCODE

as given you

For Tenants only. Not required for affiliate

BODY PARAMETERS


Parameter 

Data type 

Description 

Example Data 

ArrivalDate 

DateTime 

Date of Arrival , in format “yyyy-MM-dd” 

2017-07-18 

ReturnDate 

DateTime 

Date of Return, in format “yyyy-MM-dd” 

2017-07-21 

TenantCode 

String 

Provided Tenant Code 

Code Provided Separately

AgecategoryWiseNo

OfPersonsInSearch 

 

 

 

.AgeCategoryCode 

String 

Persons Age Category Code by their Ages. 

AD, CH1218, CH711, CH36, CH03 

.PersonCount 

Int 

Person Count For Related Age Category Code 

AffiliateCode 

String 

Contains Affiliate Code (Affiliate Code not required for Tenants)

AFCode 

PromoCode 

String 

Contains Promo Code 

 




UAT URL:  https://uat.breakaway.ie/api/BookingTransferInsurance/GetTransfer 


RESPONSE PARAMETERS


Name

Type

Description

Example

Result

boolean



ResultMessage




Object




.HotelTransferID 

int 

Contains Hotel Transfer ID 

11 

.TransferName 

string 

Contains Hotel Transfer Name 

Coach Transfer 

.TransferDetails 

string 

Contains Transfer Details Description 

Transfer Details 

.CoachTimeTableFileName 

string 

Contains Coach Time Table File Name 

File.pdf 

.CoachTimeTableFilePath 

string 

Contains Coach Time Table File Path 

Document/File.pdf 

.InformationFileName 

string 

Contains Information File Name 

InfoFile.pdf 

.InformationFilePath 

string 

Contains Information File Path 

Document/InfoFile.pdf 

.TransferScreenNote 

string 

Contains Transfer Note Show on Screen 

Transfer Note 

.TransferTypeCode 

string 

P = PerPerson, V = PerVehicle 

P/V 

.SourceTransferLocation

string

Arrival Date Transfer Start Location

Paris Airport(Charles de Gaulle)

.DestinationTransferLocation

string

Departure Date Transfer Start Location

Disneyland Paris Resort

.ObjPerPerson 

 

Contains Age Category wise prices 

 

..Sequence 

int 

Contains Age category wise sequence no 

..ArrNoOfPersons 

int[] 

Contains Array of NoOfPersons 

[0, 1, 2] 

..NoOfPersons 

int 

Contains NoOfPersons of Related Age 

Category 

..OneWayPersonPrice 

decimal 

Contains Price Of Related Age Category For 1 Person for 1 way. 

120 

..AgeCategoryCode 

string 

Contains Related Age Category Code 

AD/CH03/CH36/CH711,CH121

..AgeCategoryName 

string 

Contains Related Age Category Name 

Adults (18+ yrs) 

..AgeCategoryAlias 

string 

Contains Related Age Category Alias 

Adult 

..AgeCategoryIconPath 

string 

Contains Age Category Icon Path 

http://breakawayuat.zestorm.

com/Document/icon.png 

..AgeCategoryGroupCode 

string 

Contains Age Category Group Code 

AD 

..StartAgeLimit 

int 

Contains Start Age Limit for Related Age 

Category 

18 

..EndAgeLimit 

int 

Contains End Age Limit for Related Age 

Category 

120 

.ObjPerVehicle 

 

 

 

..BookingStartDatePerVehicle 

Datetime 

Contains Booking Start Date 

2017-04-12T00:00:00 

..ArrivalStartDatePerVehicle 

DateTime 

Contains Booking End Date 

2017-08-12T00:00:00 

..ObjVehiclePrice 

 

Pricing Object For Transfer Type PerVehicle 

 

...VehicleTypeID 

int 

Contains Vehicle Type ID 

...VehicleTypeName 

string 

Contains Vehicle Type Name 

1-4 Pax 

...MaxPassengers 

int 

Contains Max Passengers 

...IsChildSeatAvailable 

boolean 

Contains Child Seat Availability 

True/false 

...NoOfChildSeats 

int 

Contains No of Child Seats 

...OneWayVehiclePrice 

decimal 

Contains One-Way Vehicle Price. 

100 

...JourneyType 

int 

1= One-Way, 2 = Return 

.TransferTotalAmount 

Decimal 

Contains Total Amount For Transfer 

460 

.IsChildFreeWithAdult 

boolean 

true/false 

true 

.IsPromotionalDiscountApplicable 

boolean 

true/false 

false 

ExtraObject




.PromotionID 

int



.PromotionName 

string 



.PromotionCode 

string 



.PromotionDesc 

string 



.Amount 

decimal



.PriceOption 

string 



.PromotionTypeCode 

string 



.ExceedAmount 

decimal



.IsApplyForAll 

boolean



.ApplicableToCustomerCount 

int



.AppliedToCustomerCount 

int



.PricingPeriods 




..ArrivalFromDate 

datetime



..ArrivalToDate 

datetime









ERROR CODES

HTTP Status

Type

500

INTERNAL_SERVER_ERROR


Logic for price calculation of transfer based on transfer type -   

Transfer Price Calculation based on Transfer Type 


Per Person = “P”


Calculate Transfer Price using object ObjPerPerson-> ObjPersonPrice Where Prices listed by Age Category.                        

Ex - Booking for 2 Adults and 3 Childs between 3 to 6 yrs.


CalculatedPrice

(OneWayPersonPrice for Age Category AD * 2) +  (OneWayPersonPrice for Age Category CH36 * 3).

If 

we have flag IsChildFreeWithAdult = true 

Then

CalculatedPrice

(OneWayPersonPrice for Age Category AD * 2)

(OneWayPersonPrice for Age Category CH36 * (3-2)) - Logic: (Child Count - Adult Count)


IMP Note 


1.Both Arrival and Departure Dates are in pricing period then Calculate Price with Child for Both Journey. 

2.If Journey is Return and if transfer period contains only Arrival Date and not Return Date then Price Calculate with Free child logic for Arrival date that is Airport to Hotel not for Return Journey and vice versa. 

3.If its Single journey then check if that Date is in Pricing Period then only calculate Price with Free child Logic else not. 



Per Vehicle = “V”

       

Calculate Transfer Price using object ObjPerVehicle -> ObjVehiclePrice where Prices listed by vehicle type. 

Ex - Booking for 6 Adults Selected TransferTypeCode is “V” then Select Vehicle Type is 1-8 Pax having      passenger capacity 8. 



Calculated Price = OneWayVehiclePrice

If vehicle Type Changed to 1-4 Pax having passenger capacity 4 then 2 vehicles required so

Calculated Price – OneWayVehiclePrice * 2 (For 2 Vehicles)


For Both Transfer Types – Price will be double if booked for Return Journey.

JourneyType - Since Price given in ObjPersonPrice and ObjVehiclePrice are having One Way Price,


If        CASE 1: (JourneyType = 1) 

Then Calculated Price is Final.

CASE 2:  (JourneyType = 2) 

Then Calculated Price * 2(For return Journey)




If Transfer has ‘IsPromotionalDiscountApplicable’ flag true then promotional Discount is apply on Transfer Price 

How to calculate Promotional discount 


Note  Amount can be in % or EUR depends on price Option. 



oPriceOption is '%' and  PromotionTypeCode is 'PB' then  

Discount Price = (Amount / 100) * TransferPrice.  

oPriceOption is '%' and PromotionTypeCode is 'PP' then  

Discount Price= (Amount * Total Person count / 100) * TransferPrice;  

oPriceOption is '%' and PromotionTypeCode is 'EX' then  

Discount Price= (Amount / 100) * TransferPrice.  

In this case promotional discount is apply only when TotalPackagePrice exceed the ExceedAmount             

oPriceOption is 'V' and  PromotionTypeCode is 'PB' then  

Discount Price = Amount;  

oPriceOption is 'V' and PromotionTypeCode is 'PP' then  

Discount Price = Amount * PersonCount.  

oPriceOption is 'V' and PromotionTypeCode is 'EX' then  

Discount Price = Amount. 

In this case promotional discount is apply only when TotalPackagePrice exceed the ExceedAmount              


Now, 

Transfer Price = Transfer Price - Discount Price. 



SAMPLE REQUEST


  "ArrivalDate": "2017-07-18"

  "ReturnDate": "2017-07-21"

  "TenantCode": "CODE"

  "AffiliateCode": "AFCODE"

  "PromoCode":""

  "AgecategoryWiseNoOfPersonsInSearch": [ 

    {"AgeCategoryCode": "AD","PersonCount": 2}, 

    {"AgeCategoryCode": "CH1218","PersonCount": 0}, 

    {"AgeCategoryCode": "CH711","PersonCount": 0}, 

    {"AgeCategoryCode": "CH36","PersonCount": 0}, 

    {"AgeCategoryCode": "CH03","PersonCount": 0} 

  ] 



SAMPLE RESPONSE


  "Result": true

  "ResultMessage": null

  "Object": [ 

    { 

      "HotelTransferID": 6, 

      "TransferName": "Test Per Vehicle Transfer"

      "TransferDetails": "Test Per Vehicle Transfer Description"

      "CoachTimeTableFileName": null

      "CoachTimeTableFilePath": null

      "InformationFileName": null

      "InformationFilePath": null

      "TransferScreenNote": null

      "TransferTypeCode": "V"

      "IsChildFreeWithAdult": false

      "JourneyType": 1, 

      "JourneyDirection": null

      "JourneyDirectionDesc": null

      "TransferTotalAmount": 0.0, 

      "IsPromotionalDiscountApplicable": true

      "PromotionalDiscountObj": null

      "ObjPerPerson": [ 

        { 

          "BookingStartDatePerPerson": null,

          "BookingEndDatePerPerson": null

          "ArrivalStartDatePerPerson": null

          "ArrivalEndDatePerPerson": null

          "IsChildFreeWithAdult": false

          "ObjPersonPrice": [ ] 

        } 

      ], 

      "ObjPerVehicle": [ 

        { 

          "BookingStartDatePerVehicle": "2018-01-05T00:00:00"

          "ArrivalStartDatePerVehicle": "2018-02-01T00:00:00"

          "ObjVehiclePrice": [ 

            { 

              "VehicleTypeID": 2, 

              "VehicleTypeName": "1-4 Pax"

              "MaxPassengers": 4, 

              "IsChildSeatAvailable": false

              "NoOfChildSeats": null

              "OneWayVehiclePrice": 85.5000, 

              "ChildSeatNote": null 

            }, 

            { 

              "VehicleTypeID": 1, 

              "VehicleTypeName": "5-8 Pax"

              "MaxPassengers": 8, 

              "IsChildSeatAvailable": true

              "NoOfChildSeats": 1, 

              "OneWayVehiclePrice": 114.0000, 

              "ChildSeatNote": "Test Child Seat Note" 

            } 

          ] 

        } 

      ] 

    }, 

    { 

      "HotelTransferID": 5, 

      "TransferName": "Test Transfer"

      "TransferDetails": "Test Description"

      "CoachTimeTableFileName": "CoachTransferTimeTable_time table MagicalShuttle-Mars2017simple2017_09_11_11_48_02_PM.pdf"

      "CoachTimeTableFilePath"

"http://localhost:2116/Documents/BRKY/Transfer/Test_Transfer/CoachTimeTable/..1_20_06_32_30_PM.pdf"

      "InformationFileName": null

      "InformationFilePath": null

      "TransferScreenNote": null

      "TransferTypeCode": "P"

      "IsChildFreeWithAdult": false

      "JourneyType": 1, 

      "JourneyDirection": null

      "JourneyDirectionDesc": null

      "TransferTotalAmount": 76.0000, 

      "IsPromotionalDiscountApplicable": true

      "PromotionalDiscountObj": null

      "ObjPerPerson": [ 

        { 

          "BookingStartDatePerPerson": "2018-01-10T00:00:00",

          "BookingEndDatePerPerson": "2018-01-10T00:00:00"

          "ArrivalStartDatePerPerson": "2018-02-01T00:00:00"

          "ArrivalEndDatePerPerson": "2018-02-01T00:00:00"

          "IsChildFreeWithAdult": true

          "ObjPersonPrice": [ 

            { 

              "Sequence": 1, 

              "ArrNoOfPersons": [ 0, 1, 2 ], 

              "NoOfPersons": 2, 

              "OneWayPersonPrice": 40.00, 

              "AgeCategoryCode": "AD"

              "AgeCategoryName": "Adults (18+ yrs)"

              "AgeCategoryAlias": "Adult"

              "AgeCategoryIconPath": null

              "AgeCategoryGroupCode": "AD"

              "StartAgeLimit": 18, 

              "EndAgeLimit": 120 

            }, 

            { 

              "Sequence": 2, 

              "ArrNoOfPersons": [ 0 ], 

              "NoOfPersons": 0, 

              "OneWayPersonPrice": 30.00, 

              "AgeCategoryCode": "CH1218"

              "AgeCategoryName": "Adults (12-17 yrs)"

              "AgeCategoryAlias": "Adult"

              "AgeCategoryIconPath": null

              "AgeCategoryGroupCode": "AD"

              "StartAgeLimit": 12, 

              "EndAgeLimit": 17 

            }, 

            { 

              "Sequence": 3, 

              "ArrNoOfPersons": [ 0 ], 

              "NoOfPersons": 0, 

              "OneWayPersonPrice": 20.00, 

              "AgeCategoryCode": "CH711"

              "AgeCategoryName": "Children (7-11 yrs)"

              "AgeCategoryAlias": "Youth"

              "AgeCategoryIconPath": null

              "AgeCategoryGroupCode": "CH"

              "StartAgeLimit": 7, 

              "EndAgeLimit": 11 

            }, 

            { 

              "Sequence": 4, 

              "ArrNoOfPersons": [ 0 ], 

              "NoOfPersons": 0, 

              "OneWayPersonPrice": 10.00, 

              "AgeCategoryCode": "CH36"

              "AgeCategoryName": "Children (3-6 yrs)"

              "AgeCategoryAlias": "Child"

              "AgeCategoryIconPath": null,

  "AgeCategoryGroupCode": "CH"

              "StartAgeLimit": 3, 

              "EndAgeLimit": 6 

            }, 

            { 

              "Sequence": 5, 

              "ArrNoOfPersons": [ 0 ], 

              "NoOfPersons": 0, 

              "OneWayPersonPrice": 0.00, 

              "AgeCategoryCode": "CH03"

              "AgeCategoryName": "Infants (0-2 yrs)"

              "AgeCategoryAlias": "Infant",

  "AgeCategoryIconPath": null

              "AgeCategoryGroupCode": "IN"

              "StartAgeLimit": 0, 

              "EndAgeLimit": 2 

            } 

          ] 

        } 

      ], 

      "ObjPerVehicle": null 

    } 

  ], 

  "ExtraObject": { 

    "PromotionID": 2, 

    "PromotionName": "Promotion5"

    "PromotionCode": "PROMO5"

    "PromotionDesc": "5% Discount per booking for new customers only"

    "Amount": 5.00, 

    "PriceOption": "%"

    "PromotionTypeCode": "PB"

    "ExceedAmount": null

    "IsApplyForAll": true

    "ApplicableToCustomerCount": null

    "AppliedToCustomerCount": null

    "PricingPeriods": [ 

      { 

        "ArrivalFromDate": "2017-11-01T00:00:00"

        "ArrivalToDate": "2018-09-30T00:00:00" 

      }, 

      { 

        "ArrivalFromDate": "2017-12-15T00:00:00"

        "ArrivalToDate": "2017-12-30T00:00:00" 

      }, 

      { 

        "ArrivalFromDate": "2018-02-09T00:00:00"

        "ArrivalToDate": "2018-02-10T00:00:00" 

      }, 

      { 

        "ArrivalFromDate": "2018-03-15T00:00:00"

        "ArrivalToDate": "2018-03-25T00:00:00" 

      }, 

      { 

        "ArrivalFromDate": "2018-02-01T00:00:00"

        "ArrivalToDate": "2018-03-30T00:00:00" 

      } 

    ] 

  }, 

  "IsTimeout": false

  "HttpResponseCode": 200, 

  "ErrorCode": null 



Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator