How to integrate your website with iPro’s powerful open API
Our open API allows you to build out your website by using realtime data from the iPro DB
When you have an established holiday lets agency you will want your own fully customisable website, iPro works with some of the leading web agencies on the market.
A customised website provides you with full brand control, optimised SEO and a customisable guest journey.
Using an independent web agency to build your holiday rental website, provides you with a unique offering to your clients.
Please ensure that the website is built mobile first, so that you have a truly mobile friendly website.
Getting Started
https://github.com/iprosoftware/api-csharp-client/wiki/Get-Started
Property detail API
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Detail
Request Url: /apis/property/{propertyId}
The property detail API, is going to be the first API call that you use. This will enable you to build out your property pages. You have two options here:
1/ Build page from JSON (realtime)
This is the quickest way to integrate, however this will not be the fastest way for your customers to access the data. We do cache our data, however if you are looking for the best results for your client we recommend importing the data into the CMS.
If you are looking to save costs for the client, then build the page from our API JSON.
The property detail API, will provide you with everything you need for that property you simply structure the page how you wish utilising the data returned in the API call. We will cache API calls so that the data is provided quickly.
However we recommend that you cache the data your side to ensure optimum performance.
2/ Import data into your own CMS
For the optimum integration and to ensure you have the most control within your own CMS, we recommend that you pull the data from iPro and save within your database. You will then have full control over the speed of the website.
It is critical though that you ensure the client is not updating both systems, locking down access to the CMS for iPro fields would be recommended. When building your vacation rental website, please ensure you make it clear what data is pulled from the iPro booking management system.
To ensure your data is up to date within your CMS, you will call the following API on loop i.e every 10 minutes and the results will tell you which properties need syncing.
https://github.com/iprosoftware/api-csharp-client/wiki/Properties-Last-Updated
/apis/properties/lastupdated?lastUpdated={time}
[
{“PropertyId”:7858,“Details”:{“Rates”:“No”,“PropertyDetails”:“Yes”}},
{“PropertyId”:7864,“Details”:{“Rates”:“Yes”,“PropertyDetails”:“Yes”}},
{“PropertyId”:7902,“Details”:{“Rates”:“Yes”,“PropertyDetails”:“Yes”}}
]
Property Page Options
On the property page you can build out a number of options, depending on your requirements:
Availability Calendar
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Day-Availabilities
Request Url: /apis/property/{propertyId}/dayavailability
This will allow you to build out your calendar based on the availability stored within iPro, highlighting changeover days, bookings, owner bookings and blockouts.
Different examples using this api endpoint
Rates
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Rates
Request Url: /apis/property/{propertyId}/rates?startDate=2018-02-28&nextWeeks=4
This api will allow you to show the rates for the next x weeks from a specific date. If you wish to show a pricing grid on your website this data can be pulled directly from the API in real time.
Alternatively you can cache this data locally, then use the properties last updated API to check when your cache should be refreshed.
Please note that due to how pricing is changing in the market, it is rare to show pricing grids. Dynamic pricing and length of stay pricing is fluid and therefore doesn’t fit with legacy pricing grids.
Booking Form
One of the examples above you can see that they built a 3 month calendar using the day availability API, when building your own booking form you will also need to use the ‘Booking Calc’ API.
This will provide you with a real time response for availability and the price for that exact booking based on dates, occupancy and pets.
https://github.com/iprosoftware/api-csharp-client/wiki/Calculate-Booking
Request Url: Properties[0].Id=8849&Properties[0].Checkin=2022-01-15&Properties[0].Checkout=2022-01-25&Properties[0].Adults=1&Properties[0].Children=&Properties[0].Infants=&Properties[0].InsuranceBreakages=1&Properties[0].Extras[0].Id=8297&Properties[0].Extras[0].Qty=1&Properties[0].Extras[1].Id=9240&Properties[0].Extras[1].Qty=1&&Properties[0].voucherCode=AB1234
The response will provide a list of extras that are available for that booking, so that you can build an upsell opportunity within your checkout process.
If the booking request is invalid, then a warning will be displayed with a reason why i.e. Min stay 7 nights, or sleeps max 8.
If the booking request is allowed you can then build out your own checkout pages with your own payment provider.
Checkout Pages
One of the most important parts of your website, clients want real time availability and the ability to instant book via the website.
So they have found the property and are happy with the price so they proceed to book. With our open API you can build a completely unique guest experience, or you can simply plug straight into ours!
iPro has built a powerful checkout process which is feature rich to provide an amazing guest experience, your vacation rental website will beat the leading websites in the industry.
The choice is yours…..
I would recommend making your checkout page as simplified as possible, we have got ours down to 4 pages (including the confirmation page). I know some do 2 pages, however I think this misses the opportunity to upsell and get more engagement from the guests.
Here is an excellent example of how you can build out a complete bespoke checkout process using our API:
https://www.qualitycottages.co.uk/wales/west-wales/pembrokeshire/st-davids/porthclais-farmhouse
https://github.com/iprosoftware/api-csharp-client/wiki/Create-Booking
Request Url: /apis/booking
When creating a booking you can pass all the data you have collected and the amount the guest has paid.
You have the option to send us guest details, extras ordered, amount paid, guest contact details, voucher code used, booking notes, source of booking, booking tags and security deposit.
iPro will then trigger the relevant workflows based on the rules configured i.e.
- Provisional booking confirmation sent to guest
- Deposit paid booking confirmation sent to guest
- Balance paid booking confirmation sent to guest
- Owner notification sent
- Housekeeper notification sent
- Etc…
The workflows are configured uniquely to each client and there are many variable that the Agency can configure to automate the next steps.
Property Search
The iPro search API allows you to build a powerful search facility that will ensure your guests can find the perfect property for their stay.
To note if you don’t have a search facility you don’t really have a holiday rental website, guests want to search by date, group size,, location and amenities.
Don’t make guests crawl page after page, as I promise you they don’t have the patience!
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Search-Lite
Request Url: /apis/propertysearchlite?size=15&index=1&checkIn=2020-01-01&checkout=2020-01-08&Adults=1&Children=&Nights=&PriceFilterType=Nightly&NightlyPriceRange=10,600&WeeklyPriceRange=&IsBrokenRule=false
The url you request will determine the filters on the result, you can filter by any location, any facility, by group size, by dates, by price and you can exclude properties which are invalid due to your booking rules i.e. min stay is 7 nights.
The search response will bring back the propertyID and then the price to book, this means you get a very fast result. From this data you can build your custom search results using your cached or CMS data from the property.
{
“TotalHits”:3,
“Items”:[
{“Id”:10606,”DisplayPrice”:3200.00},
{“Id”:10203,”DisplayPrice”:3195.00},
{“Id”:10556,”DisplayPrice”:1795.00}
]
}
Within the iPro search we cache the data, so that if multiple people attempt the same criteria the data will be provided instantly directly from the cache. This will ensure that your search can cope with 1000s of request at the same time.
Key Landing Pages
In the holiday lets industry it’s important to build solid landing pages. A landing page is page focused on a specific theme I.e Pet friendly, cottages with hot tubs, villas with tennis courts, etc….
Depending on your requirements you can build a feature that randomly selects properties to display that meet that criteria, you would use the property detail API and your cached data.
Alternatively you can bring through all properties that match that criteria, by simply using our search API.
Allow your client to build a landing page, update content and photos and then provide an easy way for them to either select attributes from a combo box / picker or allow them to enter the IDs of the attributes from the iPro booking system.
You will now have all properties that match that criteria instantly shown on your mobile friendly website. Creating a perfect user experience and ensuring your clients get more traffic from Google.
Guest & Owner Portal
A vacation rental website is so much more than a standard website, the features that are required are more complex, there are more variables involved.
The guest and owner portal are another set of examples where the possibilities are endless.
It’s worth pointing out that to save time and money, you can easily utilise the iPro pages for your guest and owner portal.
Our full system is available via a sub domain i.e secure.clientdomain.com, this way you can focus on the core of the website.
Then we just require your header and footer adding to the iPro booking management system.
However for those agencies with big pockets and at the forefront, you can easily build out your own guest and owner portal.
You can utilise many different endpoints to provide real time data to both your guest and owner.
Within the guest portal you can allow contacts to be updated, i.e. updating their contact information.
You can provide a complete breakdown of their booking and when payments are due to be paid. You can allow them to update their booking with additional requests or extra services.
While you can also provide all the information they require on the holiday and property booked.
Information that can be displayed to the guest:
- PDF Download of booking confirmation & payment confirmations
https://github.com/iprosoftware/api-csharp-client/wiki/Booking-Confirmations
- Customer contact information
https://github.com/iprosoftware/api-csharp-client/wiki/Get-Contact
- Property information
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Detail
-
- Description
- Amenities
- Welcome pack
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Welcome-Pack
-
- Guest information packs
- Booking Information
https://github.com/iprosoftware/api-csharp-client/wiki/Bookings
-
- Dates
- Group details
- Booking notes
- Payment dates
- Price breakdown
Information that can be displayed to the owner:
- PDF statement download for owner statements
https://github.com/iprosoftware/api-csharp-client/wiki/Owner-Statements
- Booking information
https://github.com/ipro-software/api-csharp-client/wiki/Bookings
-
- Individual bookings
- Guest name
- Dates
- Group details
- Net price due
- Individual bookings
- Add owner bookings
- Update / Cancel owner bookings as required
- Mark bookings as 3rd party or maintenance
- Property Information
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Detail
-
- Description
- Amenities
- Welcome pack
- Guest information packs
- Request property detail change
- Availability
- View rates
- Reviews
https://github.com/ipro-software/api-csharp-client/wiki/Reviews
-
- Complaints
https://github.com/iprosoftware/api-csharp-client/wiki/Booking-Complaints
- Property performance reports
https://github.com/iprosoftware/api-csharp-client/wiki/Property-Reports
Request:
- Url apis/property/{propertyid}/reports/{reporttype}?checkindate={checkInDate}&checkoutdate={checkOutDate}&bookeddatestart={bookedDateStart}&bookeddateend={bookedDateEnd}&bookingtagid={bookingTagId}
-
- Total income
- Qty Bookings
- Breakdown by month
- Bookings by lead time
- Bookings by special occasion / theme
- No. of complaints