POST / Get Transfer List
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 |
2 |
|
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 |
1 |
|
..ArrNoOfPersons |
int[] |
Contains Array of NoOfPersons |
[0, 1, 2] |
|
..NoOfPersons |
int |
Contains NoOfPersons of Related Age Category |
2 |
|
..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 8 |
|
..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 |
2 |
|
...VehicleTypeName |
string |
Contains Vehicle Type Name |
1-4 Pax |
|
...MaxPassengers |
int |
Contains Max Passengers |
4 |
|
...IsChildSeatAvailable |
boolean |
Contains Child Seat Availability |
True/false |
|
...NoOfChildSeats |
int |
Contains No of Child Seats |
1 |
|
...OneWayVehiclePrice |
decimal |
Contains One-Way Vehicle Price. |
100 |
|
...JourneyType |
int |
1= One-Way, 2 = Return |
1 |
|
.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