ACCESSING THE BOOKFLOW
White label partners can access CV Villas availability and deep-link their customers into an online booking
Custom Bookflow Header and Footer
Before directing any customers to the bookflow please send a html header and footer to the Cv Villas team, this will be rendered in place of the Cv Villas header and footer.
- Use absolute urls in links and images.
- Use https assets only to avoid mixed content warnings.
- Use inline styles.
Airports and Durations
To facilitate a departure airport drop down list and a duration selection list the following API request can be used to provide availability aware options. The airport group "-" represents Villa Only durations.
Endpoint:
GET /umbraco/api/destinationsapi/Departure/
Parameters
Name | Type | Comments |
indiscriminateIds | int[] | The indiscriminateIds parameter is a comma separated list of AccommodationCmsId . Country, Region and Resort Ids are also accepted. |
adults | int | The number of adults to consider when checking availability. |
children | int | The number of children to consider when checking availability. |
Result
{ options: [{ name: "London (All)", originId: 25031, selected: false, hide: false, selectable: true, options: [{ name: "London City", code: "LCY", selected: false, selectable: false, durations: [] }, { name: "London Gatwick", code: "LGW", selected: false, selectable: true, durations: [ 7, 14, 21 ] }, { name: "London Stansted", code: "STN", selected: false, selectable: true, durations: [ 7 ] } ] }, { name: "Scotland (All)", originId: 45286, selected: false, hide: false, selectable: true, options: [{ name: "Aberdeen", code: "ABZ", selected: false, selectable: false, durations: [] }, ] }, { name: "-", originId: 0, selected: false, hide: true, selectable: false, options: [{ name: "-", code: "-", selected: false, selectable: false, durations: [ 3, 4, 5, 7, 8, 9, 10, 13, 14, 21 ] }, ] } ] }
Availability
To facilitate an availability calendar or list the following request will give day by day prices for the desired villa.
Endpoint:
GET /umbraco/Api/AvailabilityApi/GetAvailabilityOnDays/
Parameters
Name | Type | Comments |
nights | int | The duration of the desired stay. |
adults | int | The number of adults to consider when checking availability. |
children | int | The number of children to consider when checking availability. |
infants | int | The number of infants to consider when checking availability. |
departure | int? | OriginId of the desired airport (optional). |
accommodationId | int | AccommodationCmsId of the desired villa. |
Result
[ [ "2022-05-02", { price: "£1,932", personPrice: "£966", villaPrice: "£1,276", offerPrice: null, offer: null, departureIds: [ 24886, 24890, 24892, 24898, 24914, 24923, 24944, 24950, 24989 ], durations: [ 7 ], cacheId: "754c553b-ecd3-4053-bdd8-eeb1a305c125", checkIn: "02 May 2022 at 15:00", checkOut: "09 May 2022 at 09:00", nights: 7, villaOnly: false, flights: { departureTime: "06:05", departureDate: "02 May 22", arrivalTime: "11:15", arrivalDate: "02 May 22", departureLocationName: "Birmingham", arrivalLocationName: "Corfu Kerkyra Airport", returnDepartureTime: "12:15", returnDepartureDate: "09 May 22", returnArrivalTime: "13:35", returnArrivalDate: "09 May 22", reference: "TOM7112", airlineCode: "TOM" } } ], ... ]
Bookflow
Your user should be directed via POST to the flights page. If the package is Villa Only then they will automatically be redirected to the car hire page.
Endpoint:
POST /flights/
Parameters
Name | Type | Comments |
| string | Your whitelabel GUID. If this is not provided there will be no booking note to associate this reservation with your organisation. |
adults | int | The number of adults. |
childAges | int[] | The ages of the children. The total number of children and infants in inferred from this. |
villaPackageId | string | The cacheId GUID from the previous step. |
includeFlights | boolean | This can be used to turn a Villa + Flight package into a Villa Only package, it cannot be used to add a flight to a Villa Only package. |