Alps2Alps as an Amitours group company since 2010 has developed into one of the biggest transportation service providers in Alpine region and has become known within the industry for quality and proffesional service for a surprisingly affordable price.
Become a partner and work with us - the industry leader providing excursions and airport transfer services for groups and individuals. Find out about the many services you can offer to your customers and benefit from the sales. Sign up using the form below and we will contact you within 2 working days.
We will set you up with an account, so you can make transfer bookings for your customers with us easily. You can benefit from reduced rates on our transfer services and earn a commission on your transfer bookings. Sign up to become a partner now!
Don't have an account?
We can offer various integration options of booking to suit your needs.
One of these options fits you, if you run a website that has visitors who are interested in alpine sports or just travel to Alpine region, but who would like a transfer options to ski resort or airport. Then you can well place our link, banner or form Widget into your page to offer your visitors the chance to book transfers. For each booking you earn a commission on every sale made through your page.
You can choose API integration, if you have your own booking platform for your business. Use our API to integrate our booking engine into your own system and save time in the management and arrangement of your transfer bookings.
We offer a range of linking options for you to be able to sell transfers, as well as you can track every sale and earned commisions in your partner panel. After becoming a partner you will receive your own promo code and API key and access to your partner panel. Just choose from several integration options to use our booking engine.
If you would like more detailed information about benefits or integration, please, email us to info@alps2alps.com.
Your personal link contains you promo code, for example, https://www.alps2alps.com/?promo_code=your_promo_code
.
You can share this link or post it in your own page. You will receive commission for every booking made through your link.
You can use your personal link with one of our banners or request a personal banner. Personal banner is made just for you and will fit perfectly with your webpage or social media page.
Below you can see examples of our banners:
You can use our form widget to insert Alps2Alps booking form straight into your website.
Insert the following code where you want the form to appear (exact location inside the <body>
tag) and replace "your_promo_code" with your personal promo code.
<script src="https://www.alps2alps.com/js/widget.min.js" data-promo-code="your_promo_code"></script>
You can use our API to seamlessly integrate our booking engine into your own system.
Please find the API documentation below.
Method creates and returns an access token that needs to be used to make authorized API calls.
To make an authorized API call add Authorization: Bearer <token>
header to your request.
ⓘ Access token is valid for one day (24 hours) after creation.
INPUT
{ "api_key": "your_api_key", "api_secret": "your_api_secret" }
OUTPUT
{ "token": "your_access_token", "created_at": "2024-12-30 17:07:10", "current_server_time": "2024-12-30 17:07:10" }
Method returns array of all transfer destinations and corresponding route codes. Route codes should be used when creating a transfer and requesting offer selection.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
OUTPUT
{ "0": "--Airport or Resort--", "1": "--From-Airport--", "airport-15": "Annecy Meythet Airport", "airport-22": "Basel Airport", "airport-3": "Chambery Airport", "airport-18": "Freidrichshafen Airport", "airport-1": "Geneva Airport", "airport-2": "Grenoble Airport", "airport-25-w": "Turin Airport", "2": "", "3": "--From-City--", "city-36": "Chambery City" }
Method returns either array or list containing HTML <option>
tags for transfer destinations that are available based on provided route code.
By default this methods returns an array of transfer destinations. To return HTML code you should add the optional parameter html with value 1.
Returned HTML code is ready to be inserted inside <select>
tag and is useful if you are updating your form using AJAX.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
OUTPUT
Array
{ "5": "--To-Resort--", "resort-184": "Brand bei Bludenz", "resort-185": "Dalaas \/ Wald ", "resort-182": "Gargellen", "resort-168": "Ischgl", "resort-187": "Kl\u00f6sterle am Arlberg", "resort-166": "Lech am Arlberg", "resort-179": "Serfaus - Fiss - Ladis", "resort-167": "St Anton am Arlberg", "resort-188": "St Gallenkirch ", "resort-194": "Z\u00fcrs am Arlberg", "8": "", "9": "--Other--", "other": "Other Address" }
HTML
"--To-Resort--<\/option>Brand bei Bludenz<\/option>Dalaas \/ Wald <\/option>Gargellen<\/option>Ischgl<\/option>Kl\u00f6sterle am Arlberg\/ Kloesterle am Arlberg<\/option>Lech am Arlberg<\/option>Serfaus - Fiss - Ladis<\/option>St Anton am Arlberg<\/option>St Gallenkirch <\/option>Z\u00fcrs am Arlberg\/ Zuers am Arlberg<\/option><\/option>--Other--<\/option>Other Address<\/option>"
Method returns an array of base prices based on passenger count for all routes or routes containing a specific destination based on provided destination code.
To return only latest base prices you should add the optional parameter since containing the Unix timestamp of the earliest time to check.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
OUTPUT
{ "airport-1": { "resort-1": [ { "vehicle": "2", "pax_min": "1", "pax_max": "2", "price": "231" }, { "vehicle": "3", "pax_min": "3", "pax_max": "3", "price": "248" } ], "resort-2": [ { "vehicle": "2", "pax_min": "1", "pax_max": "2", "price": "277" }, { "vehicle": "2", "pax_min": "3", "pax_max": "3", "price": "336" } ] }, "airport-2": { "resort-2": [ { "vehicle": "3", "pax_min": "1", "pax_max": "2", "price": "330" }, { "vehicle": "10", "pax_min": "3", "pax_max": "3", "price": "385" } ] } }
Method returns an array of all active and upcoming markup rules list for all routes or routes containing a specific destination based on provided destination code.
Returned data is separated into pages and you should query each page by adding the optional parameter page. You can also change the page size by setting the optional parameter page_size, which has a default value of 1000.
To return only latest markup rules you should add the optional parameter since containing the Unix timestamp of the earliest time to check.
To return markup rules valid only for a certain date you should add the optional parameter date using format YYYY-MM-DD.
To return markup rules valid only for a certain vehicle type you should add the optional parameter vehicle containing the vehicle ID.
Please note that the returned values are subject to change and should only be used as a baseline when setting up webhook for pricing changes. To use price markup change webhook, please contact us.
Usage rules:
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
OUTPUT
{ "pages": 67, "page": 1, "data": [ { "weekday_from": "6", "weekday_to": "6", "vehicle": "2", "date_from": "2021-12-01", "date_to": "2021-12-13", "time_from": "00:00:00", "time_to": "05:00:00", "percentage": "70", "level": "1", "routes": { "airport-1": [ "resort-1", "resort-2", "resort-3", "resort-4" ], "airport-2": [ "resort-1", "resort-2", "resort-3" ] } }, { "weekday_from": "6", "weekday_to": "6", "vehicle": "2", "date_from": "2021-12-01", "date_to": "2021-12-13", "time_from": "09:00:00", "time_to": "14:00:00", "percentage": "80", "level": "1", "routes": { "resort-1": [ "airport-1", "train_station-11" ], "resort-2": [ "airport-1", "airport-2", "airport-3" ] } } ] }
Method returns maximal passenger count. If both route codes are provided, maximal passenger count for that specific route will be returned. If no parameters are present, default maximal passenger count will be returned.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
OUTPUT
49
Note that outbound and return datetime refers to date and time of arrival to and departure from airport, city or train station.
All prices are returned as EUR gross value.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
INPUT
{ "Transfer": { "is_return": "1", "route_from_code": "airport-38", "route_to_code": "resort-332", "return_route_to_code": "airport-41", "outbound_date": "2017-12-15", "outbound_time_hours": "3", "outbound_time_minutes": "0", "return_date": "2017-12-18", "return_time_hours": "21", "return_time_minutes": "15", "adult_count": "2", "children_count": "0", "return_adult_count": "2", "return_children_count": "0" }, "AdditionalInformation": { "booster_seat_count": "0", "child_seat_count": "0", "ski_count": "0", "snowboard_count": "0", "return_booster_seat_count": "0", "return_child_seat_count": "0", "return_ski_count": "0", "return_snowboard_count": "0", "accommodation_name": "Hotel Name", "accommodation_address": "Hotel Address", "flight_number": "FL123", "return_flight_number": "FL321", "additional_information": "" } }
OUTPUT
{ "Transfer": { "id": 43, "TransferSelection": { "outbound": { "identifier": "A1", "from": "Bergamo airport (Milan Orio)", "to": "Alpe di Pampeago", "is_to_resort": 1, "flight_date_time": "2017-12-15 13:00:00", "requested": { "pick_up_date_time": "2017-12-15 13:00:00", "price": 186.2, "travel_time": "00:20:00", "arrival_date_time": "2017-12-15 13:20:00", "waiting_time": "", "vehicle_type_id": 2 }, "off_peak-0": { "pick_up_date_time": "2017-12-15 15:00:00", "price": 133, "travel_time": "00:20:00", "arrival_date_time": "2017-12-15 15:20:00", "waiting_time": "02:00:00", "vehicle_type_id": 2 }, "off_peak-1": { "pick_up_date_time": "2017-12-15 21:00:00", "price": 133, "travel_time": "00:20:00", "arrival_date_time": "2017-12-15 21:20:00", "waiting_time": "08:00:00", "vehicle_type_id": 2 } }, "return": { "from": "Alpe di Pampeago", "to": "Milano Linate airport", "is_to_resort": 0, "flight_date_time": "2017-12-17 21:20:00", "check_in_date_time": "2017-12-17 19:20:00", "requested": { "pick_up_date_time": "2017-12-17 19:00:00", "price": 133, "travel_time": "00:20:00", "arrival_date_time": "2017-12-17 19:20:00", "waiting_time": "", "vehicle_type_id": 2 }, "off_peak-0": { "pick_up_date_time": "2017-12-17 13:00:00", "price": 106.4, "travel_time": "00:20:00", "arrival_date_time": "2017-12-17 13:20:00", "waiting_time": "06:00:00", "vehicle_type_id": 2 }, "off_peak-1": { "pick_up_date_time": "2017-12-17 11:00:00", "price": 99.75, "travel_time": "00:20:00", "arrival_date_time": "2017-12-17 11:20:00", "waiting_time": "08:00:00", "vehicle_type_id": 2 } } } } }
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
OUTPUT
{ "Transfer": { "id": 43, "TransferSelection": { "outbound": { "identifier": "A1", "from": "Bergamo airport (Milan Orio)", "to": "Alpe di Pampeago", "is_to_resort": 1, "flight_date_time": "2017-12-15 13:00:00", "requested": { "pick_up_date_time": "2017-12-15 13:00:00", "price": 186.2, "travel_time": "00:20:00", "arrival_date_time": "2017-12-15 13:20:00", "waiting_time": "", "vehicle_type_id": 2 }, "off_peak-0": { "pick_up_date_time": "2017-12-15 15:00:00", "price": 133, "travel_time": "00:20:00", "arrival_date_time": "2017-12-15 15:20:00", "waiting_time": "02:00:00", "vehicle_type_id": 2 }, "off_peak-1": { "pick_up_date_time": "2017-12-15 21:00:00", "price": 133, "travel_time": "00:20:00", "arrival_date_time": "2017-12-15 21:20:00", "waiting_time": "08:00:00", "vehicle_type_id": 2 } }, "return": { "from": "Alpe di Pampeago", "to": "Milano Linate airport", "is_to_resort": 0, "flight_date_time": "2017-12-17 21:20:00", "check_in_date_time": "2017-12-17 19:20:00", "requested": { "pick_up_date_time": "2017-12-17 19:00:00", "price": 133, "travel_time": "00:20:00", "arrival_date_time": "2017-12-17 19:20:00", "waiting_time": "", "vehicle_type_id": 2 }, "off_peak-0": { "pick_up_date_time": "2017-12-17 13:00:00", "price": 106.4, "travel_time": "00:20:00", "arrival_date_time": "2017-12-17 13:20:00", "waiting_time": "06:00:00", "vehicle_type_id": 2 }, "off_peak-1": { "pick_up_date_time": "2017-12-17 11:00:00", "price": 99.75, "travel_time": "00:20:00", "arrival_date_time": "2017-12-17 11:20:00", "waiting_time": "08:00:00", "vehicle_type_id": 2 } } }, "is_return": "1", "route_from_code": "airport-38", "route_to_code": "resort-332", "return_route_to_code": "airport-41", "outbound_date": "2017-12-15", "outbound_time_hours": "3", "outbound_time_minutes": "0", "return_date": "2017-12-18", "return_time_hours": "21", "return_time_minutes": "15", "adult_count": "2", "children_count": "0", "return_adult_count": "2", "return_children_count": "0" }, "AdditionalInformation": { "booster_seat_count": "0", "child_seat_count": "0", "ski_count": "0", "snowboard_count": "0", "return_booster_seat_count": "0", "return_child_seat_count": "0", "return_ski_count": "0", "return_snowboard_count": "0", "accommodation_name": "Hotel Name", "accommodation_address": "Hotel Address", "flight_number": "FL123", "return_flight_number": "FL321", "additional_information": "" } }
Successful booking response data will contain booking reference and Base64 encoded PDF vouchers for each product, indexed by product references. You can set optional property return_vouchers
to 0, if you do not wish to receive the vouchers in response data.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
INPUT
{ "Booking": { "transfer_id": 43, "return_vouchers": 1, "TransferSelection": { "outbound": "requested", "return": "off_peak-1", "is_manual_pick_up_time": 0, "manual_pick_up_time_hours": "", "manual_pick_up_time_minutes": "" }, "Customer": { "name": "John", "last_name": "Smith", "email": "john.smith@domain.com", "country_code": "+371", "mobile_number": "324124698", "reference": "" } } }
OUTPUT
{ "Booking": { "reference": "AMI3453", "AMI3453-P1": ... "AMI3453-P2": "..." } }
Content-Type
header values: application/json
, application/x-www-form-urlencoded
, multipart/form-data
.
Method creates and returns an access token that needs to be used to make authorized API calls.
To make an authorized API call add Authorization: Bearer <token>
header to your request.
ⓘ Access token is valid for one day (24 hours) after creation.
EXAMPLE INPUT
{ "api_key": "your_api_key", "api_secret": "your_api_secret" }
EXAMPLE OUTPUT
{ "token": "your_access_token", "created_at": 1735578430, "expires_at": 1735664830 }
Method returns all transfer destination names mapped by corresponding destination codes.
Destination codes must be used for fields route_from_code
, route_to_code
and return_route_to_code
when creating a transfer request.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "airport-15": "Annecy Meythet Airport", "airport-22": "Basel Airport", "airport-38": "Bergamo airport (Milan Orio)", "airport-3": "Chambery Airport", ... "resort-264": "Zillertal", "resort-435": "Zinal", "resort-204": "Zug, CH", "resort-200": "Zuoz", ... }
All prices are returned in EUR.
If the requested transfer is invalid or not available for booking, the response will contain a single parameter - error
.
Transfer attributes:
Attribute | Required / Optional | Default Value | |
---|---|---|---|
type string | optional | private | Transfer type - private or shared . |
is_return boolean | optional | 1 | Indicator for whether the service is a round-trip. |
route_from_code string | required | Pick-up destination code. | |
route_to_code string | required | Drop-off destination code. | |
return_route_to_code string | optional | route_from_code |
Drop-off destination code for return transfer of a round-trip service. Can be used to have a different return destination for a round-trip service. |
outbound_date string | required | ||
outbound_time_hours integer | required | ||
outbound_time_minutes integer | required | ||
outbound_selected_time_is_flight boolean | optional | 1 | Indicator for whether the selected time is a flight time (as opposed to actual requested pick-up time). |
return_date string | optional (required when is_return = 1) |
||
return_time_hours integer | optional (required when is_return = 1) |
||
return_time_minutes integer | optional (required when is_return = 1) |
||
return_selected_time_is_flight boolean | optional | 1 | Indicator for whether the selected time is a flight time (as opposed to actual requested pick-up time). |
adult_count integer | required | 1 | |
children_count integer | optional | 0 | |
return_adult_count integer | optional (required when is_return = 1) |
1 | |
return_children_count integer | optional | 0 |
All AdditionalInformation attributes are optional and have no default value:
booster_seat_count integer | Child Booster Seat – Suitable for 19kg/42lbs – 36kg/79lbs and 125cm or taller (approx. 6-11yrs). |
---|---|
child_seat_count integer | Child Seat – Suitable for 9kg/20lbs to 18kg/40lbs (approx. 1-5yrs) |
ski_count integer | |
snowboard_count integer | |
return_booster_seat_count integer | Child Booster Seat – Suitable for 19kg/42lbs – 36kg/79lbs and 125cm or taller (approx. 6-11yrs). |
return_child_seat_count integer | Child Seat – Suitable for 9kg/20lbs to 18kg/40lbs (approx. 1-5yrs) |
return_ski_count integer | |
return_snowboard_count integer | |
accommodation_name string | |
accommodation_address string | |
accommodation_coordinates string | Expected coordinate format is comma separated decimal degrees, for example, 46.341883, 11.539972 |
flight_number string | |
return_flight_number string | |
additional_information string |
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
MINIMAL ONE-WAY EXAMPLE INPUT
{ "Transfer": { "is_return": 0, "route_from_code": "airport-1", "route_to_code": "resort-22", "outbound_date": "2023-12-23", "outbound_time_hours": 11, "outbound_time_minutes": 5, "adult_count": 2 }, "AdditionalInformation": [] }
MINIMAL ROUND-TRIP EXAMPLE INPUT
{ "Transfer": { "route_from_code": "airport-1", "route_to_code": "resort-22", "outbound_date": "2023-12-23", "outbound_time_hours": 11, "outbound_time_minutes": 5, "return_date": "2024-01-05", "return_time_hours": 21, "return_time_minutes": 0, "adult_count": 2, "return_adult_count": 2 }, "AdditionalInformation": [] }
Full Example
EXAMPLE INPUT
{ "Transfer": { "is_return": 1, "route_from_code": "airport-1", "route_to_code": "resort-22", "return_route_to_code": "airport-3", "outbound_date": "2023-12-23", "outbound_time_hours": 11, "outbound_time_minutes": 5, "outbound_selected_time_is_flight": 1, "return_date": "2024-01-05", "return_time_hours": 21, "return_time_minutes": 0, "return_selected_time_is_flight": 1, "adult_count": 2, "children_count": 1, "return_adult_count": 2, "return_children_count": 1 }, "AdditionalInformation": { "booster_seat_count": 1, "child_seat_count": 0, "ski_count": 1, "snowboard_count": 0, "return_booster_seat_count": 1, "return_child_seat_count": 0, "return_ski_count": 1, "return_snowboard_count": 1, "accommodation_name": "Hotel Name", "accommodation_address": "Hotel Address", "accommodation_coordinates": "46.341883, 11.539972", "flight_number": "FL123", "return_flight_number": "FL321", "additional_information": "" } }
EXAMPLE OUTPUT
{ "Transfer": { "id": 123456, "type": "private", "discount_applied": 1, "TransferSelection": { "outbound": { "from": "Geneva Airport", "to": "Auris en Oisans Grandes Rousses", "flight_date_time": "2023-12-23 11:05:00", "selected_time_is_flight": 1, "offers": { "requested-2": { "pick_up_date_time": "2023-12-23 11:05:00", "price": 601.8, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 14:55:00", "waiting_time": "", "vehicle_type_id": 2 }, "off_peak-0-2": { "pick_up_date_time": "2023-12-23 14:00:00", "price": 559.3, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 17:50:00", "waiting_time": "02:55:00", "vehicle_type_id": 2 }, "off_peak-1-2": { "pick_up_date_time": "2023-12-23 13:00:00", "price": 529, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 16:50:00", "waiting_time": "03:55:00", "vehicle_type_id": 2 }, ... "requested-4": { "pick_up_date_time": "2023-12-23 11:05:00", "price": 1054, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 14:55:00", "waiting_time": "", "vehicle_type_id": 4 } } }, "return": { "from": "Auris en Oisans Grandes Rousses", "to": "Chambery Airport", "flight_date_time": "2024-01-05 21:00:00", "selected_time_is_flight": 1, "check_in_date_time": "2024-01-05 19:00:00", "offers": { "requested-2": { "pick_up_date_time": "2024-01-05 16:50:00", "price": 238.85, "travel_time": "02:10:00", "arrival_date_time": "2024-01-05 19:00:00", "waiting_time": "", "vehicle_type_id": 2 }, ... "requested-4": { "pick_up_date_time": "2024-01-05 16:50:00", "price": 534.65, "travel_time": "02:10:00", "arrival_date_time": "2024-01-05 19:00:00", "waiting_time": "", "vehicle_type_id": 4 } } } } } }
Note that transfer request offers expire 24 hours after creation.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "Transfer": { "id": 123456, "type": "private", "discount_applied": 1, "TransferSelection": { "outbound": { "from": "Geneva Airport", "to": "Auris en Oisans Grandes Rousses", "flight_date_time": "2023-12-23 11:05:00", "selected_time_is_flight": 1, "offers": { "requested-2": { "pick_up_date_time": "2023-12-23 11:05:00", "price": 601.8, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 14:55:00", "waiting_time": "", "vehicle_type_id": 2 }, "off_peak-0-2": { "pick_up_date_time": "2023-12-23 14:00:00", "price": 559.3, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 17:50:00", "waiting_time": "02:55:00", "vehicle_type_id": 2 }, "off_peak-1-2": { "pick_up_date_time": "2023-12-23 13:00:00", "price": 529, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 16:50:00", "waiting_time": "03:55:00", "vehicle_type_id": 2 }, ... "requested-4": { "pick_up_date_time": "2023-12-23 11:05:00", "price": 1054, "travel_time": "03:50:00", "arrival_date_time": "2023-12-23 14:55:00", "waiting_time": "", "vehicle_type_id": 4 } } }, "return": { "from": "Auris en Oisans Grandes Rousses", "to": "Chambery Airport", "flight_date_time": "2024-01-05 21:00:00", "selected_time_is_flight": 1, "check_in_date_time": "2024-01-05 19:00:00", "offers": { "requested-2": { "pick_up_date_time": "2024-01-05 16:50:00", "price": 238.85, "travel_time": "02:10:00", "arrival_date_time": "2024-01-05 19:00:00", "waiting_time": "", "vehicle_type_id": 2 }, ... "requested-4": { "pick_up_date_time": "2024-01-05 16:50:00", "price": 534.65, "travel_time": "02:10:00", "arrival_date_time": "2024-01-05 19:00:00", "waiting_time": "", "vehicle_type_id": 4 } } } }, "is_return": 1, "route_from_code": "airport-1", "route_to_code": "resort-22", "return_route_to_code": "airport-3", "outbound_date": "2023-12-23", "outbound_time_hours": 11, "outbound_time_minutes": 5, "outbound_selected_time_is_flight": 1, "return_date": "2024-01-05", "return_time_hours": 21, "return_time_minutes": 0, "return_selected_time_is_flight": 1, "adult_count": 2, "children_count": 1, "return_adult_count": 2, "return_children_count": 1 }, "AdditionalInformation": { "booster_seat_count": 1, "child_seat_count": 0, "ski_count": 1, "snowboard_count": 0, "return_booster_seat_count": 1, "return_child_seat_count": 0, "return_ski_count": 1, "return_snowboard_count": 1, "accommodation_name": "Hotel Name", "accommodation_address": "Hotel Address", "accommodation_coordinates": "46.341883, 11.539972", "flight_number": "FL123", "return_flight_number": "FL321", "additional_information": "" } }
Successful booking response data will contain booking reference and Base64 encoded PDF vouchers for each product, indexed by product references. You can set optional property return_vouchers
to 0, if you do not wish to receive the vouchers in response data and decrease response time. Vouchers can be requested through the API at a later time and will also be delivered to your account's email address upon booking creation.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE INPUT
{ "Booking": { "transfer_id": 123456, "return_vouchers": 1, "TransferSelection": { "outbound": "off_peak-0-2", "return": "requested-4" }, "Customer": { "name": "John", "last_name": "Smith", "email": "john.smith@domain.com", "country_code": "+371", "mobile_number": "324124698", "reference": "" } } }
EXAMPLE OUTPUT
{ "Booking": { "reference": "AMI3453", "vouchers": { "AMI3453-P1": ... "AMI3453-P2": "..." } } }
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "Booking": { "reference": "AMI3453", "vouchers": { "AMI3453-P1": ... "AMI3453-P2": "..." } } }
Method returns transfer destination names mapped by corresponding destination codes that create a valid route with the destination based on the provided code.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "resort-262": "Adelboden", "resort-226": "Bern", "resort-267": "Chateau d'Oex", "resort-229": "Chur", ... }
Method returns an array of base prices based on passenger count and vehicle type for all routes or routes containing a specific destination based on provided destination code.
To return only recently added or changed base prices you should add the optional parameter since containing the Unix timestamp of the earliest time to check.
Please note that returned vehicle
in case of shared transfers is not the transfer vehicle but instead the vehicle that is used to find the correct markup.
Additional optional request parameters can be provided:
Attribute | Default Value | |
---|---|---|
type string | private | Transfer type - private or shared . |
since integer | Unix timestamp. | |
destination_code string | Destination code. |
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "airport-1": { "resort-1": [ { "vehicle": "2", "pax_min": "1", "pax_max": "2", "price": "231" }, { "vehicle": "3", "pax_min": "3", "pax_max": "3", "price": "248" } ], "resort-2": [ { "vehicle": "2", "pax_min": "1", "pax_max": "2", "price": "277" }, { "vehicle": "2", "pax_min": "3", "pax_max": "3", "price": "336" } ] }, "airport-2": { "resort-2": [ { "vehicle": "3", "pax_min": "1", "pax_max": "2", "price": "330" }, { "vehicle": "10", "pax_min": "3", "pax_max": "3", "price": "385" } ] } }
Method returns an array of all active and upcoming markup rules list for all routes or routes containing a specific destination based on provided destination code.
Returned data is separated into pages and you should query each page by adding the optional parameter page. You can also change the page size by setting the optional parameter size, which has a default value of 1000.
Usage rules:
Additional optional request parameters can be provided:
Attribute | Default Value | |
---|---|---|
since integer | Unix timestamp. Used to filter only the latest markups rules. | |
destination_code string | Destination code. Used to filter markup rules only valid for routes containing a certain destination. | |
date string | Date in format YYYY-MM-DD . Used to filter markup rules only valid for a certain date. |
|
vehicle integer | Vehicle type ID. Used to filter markup rules only valid for a certain vehicle type. | |
page integer | 1 | Current page. |
size integer | 1000 | Page size. |
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT (type=private
)
{ "pages": 67, "page": 1, "data": [ { "vehicle": "2", "weekday_from": "6", "weekday_to": "6", "date_from": "2021-12-01", "date_to": "2021-12-13", "time_from": "00:00:00", "time_to": "05:00:00", "percentage": "70", "level": "5", "routes": { "airport-1": [ "resort-1", "resort-2", "resort-3", "resort-4" ], "airport-2": [ "resort-1", "resort-2", "resort-3" ] } }, { "vehicle": "2", "weekday_from": "6", "weekday_to": "6", "date_from": "2021-12-01", "date_to": "2021-12-13", "time_from": "09:00:00", "time_to": "14:00:00", "percentage": "80", "level": "5", "routes": { "resort-1": [ "airport-1", "train_station-11" ], "resort-2": [ "airport-1", "airport-2", "airport-3" ] } } ] }
Method returns an array of destination codes for each of destinations representing all valid routes.
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "airport-1": [ "resort-1", "resort-2", ... "resort-499", "resort-500" ], ... "resort-418": [ "airport-39", "airport-40", "airport-41" ], ... }
Method returns route configuration.
Information provided by route configuration can be used to avoid sending transfer requests that are not available for online booking.
Following parameters will be returned:
max_passengers integer | Largest allowed passenger count for a transfer booking. |
---|
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "max_passengers": 49 }
Method returns a list of available vehicles mapped by corresponding IDs.
Each vehicle list object contains the following attributes:
id integer | Used to indicate the vehicle in transfer offers in the field vehicle_type_id . |
---|---|
name string | |
description string | |
image_link string | |
max_passengers integer | Maximum passenger count the vehicle can carry. |
can_transport_skis boolean | Indicator for whether the vehicle can fit and carry any ski equipment. |
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
EXAMPLE OUTPUT
{ "2": { "id": "2", "name": "Standard\/economy", "description": "VW Passat, Volvo V70, Pegueot 508 or similar vehicle", "image_link": "https:\/\/www.alps2alps.com\/img\/vehicles\/2.png", "max_passengers": "3", "can_transport_skis": "0" }, ... "16": { "id": "16", "name": "49-seater bus", "description": "Mercedes, Scania, Volvo or similar", "image_link": "https:\/\/www.alps2alps.com\/img\/vehicles\/16.png", "max_passengers": "49", "can_transport_skis": "1" } }
Transfer attributes:
Attribute | Required / Optional | Default Value | |
---|---|---|---|
is_return boolean | optional | 1 | Indicator for whether the service is a round-trip. |
route_from_code string | required | Pick-up destination code. | |
route_to_code string | required | Drop-off destination code. | |
return_route_to_code string | optional | route_from_code |
Drop-off destination code for return transfer of a round-trip service. Can be used to have a different return destination for a round-trip service. |
outbound_date string | required | ||
outbound_time_hours integer | required | ||
outbound_time_minutes integer | required | ||
outbound_selected_time_is_flight boolean | optional | 1 | Indicator for whether the selected time is a flight time (as opposed to actual requested pick-up time). |
return_date string | optional (required when is_return = 1) |
||
return_time_hours integer | optional (required when is_return = 1) |
||
return_time_minutes integer | optional (required when is_return = 1) |
||
return_selected_time_is_flight boolean | optional | 1 | Indicator for whether the selected time is a flight time (as opposed to actual requested pick-up time). |
adult_count integer | required | 1 | |
children_count integer | optional | 0 | |
return_adult_count integer | optional (required when is_return = 1) |
1 | |
return_children_count integer | optional | 0 | |
has_ski_equipment boolean | optional | 1 | Indicator for whether the passengers will travel with ski equipment. |
return_has_ski_equipment boolean | optional | 1 | Indicator for whether the passengers will travel with ski equipment. |
ⓘ This method requires authorization. Add Authorization: Bearer <token>
header to your request.
MINIMAL ONE-WAY EXAMPLE INPUT
{ "Transfer": { "is_return": 0, "route_from_code": "airport-1", "route_to_code": "resort-22", "outbound_date": "2023-12-23", "outbound_time_hours": 11, "outbound_time_minutes": 5, "adult_count": 2 } }
MINIMAL ROUND-TRIP EXAMPLE INPUT
{ "Transfer": { "route_from_code": "airport-1", "route_to_code": "resort-22", "outbound_date": "2023-12-23", "outbound_time_hours": 11, "outbound_time_minutes": 5, "return_date": "2024-01-05", "return_time_hours": 21, "return_time_minutes": 0, "adult_count": 2, "return_adult_count": 2 } }
Full Example
EXAMPLE INPUT
{ "Transfer": { "is_return": 1, "route_from_code": "airport-1", "route_to_code": "resort-22", "return_route_to_code": "airport-3", "outbound_date": "2023-12-23", "outbound_time_hours": 11, "outbound_time_minutes": 5, "outbound_selected_time_is_flight": 1, "return_date": "2024-01-05", "return_time_hours": 21, "return_time_minutes": 0, "return_selected_time_is_flight": 1, "adult_count": 2, "children_count": 1, "return_adult_count": 2, "return_children_count": 1 } }
EXAMPLE OUTPUT
{ "link": "https:\/\/www.alps2alps.com\/en\/booking\/b2b2c?key=abcdefghijklmnopqrstuvwxyz20231011150637" }