-
Notifications
You must be signed in to change notification settings - Fork 0
Create Booking
Request Url: /apis/booking
By using different parameters within the API you can push different booking types through to iPro
- Provisional Booking
- Deposit Paid
- Balance Paid
- Owner Booking (Blockout, Maintenance, Own Use, Owner Family, etc..)
Request Query URL Params:
Please note that with this API we only support URL Query Params as this triggers an event to ensure that our payment schedules are created correctly based on the rules within the iPro System.
BookingTagIds=&EnquiryId=&Source=&PaidAmount=300.00&Contact.ContactId=&Contact.Title=Mr&Contact.FirstName=Ronglin&Contact.LastName=Chen&SendEmail=true&Contact.Email=rulee@ipro-software.com&Contact.Email1=&Contact.Telephone=0592539975&Contact.Mobile=15078248863&Contact.Address1=&Contact.Address2=&Contact.City=xiamen&Contact.County=&Contact.Postcode=361000&Contact.Country=&Contact.Source=&Properties[0].Id=8849&Properties[0].Checkin=2017-11-23&Properties[0].Checkout=2017-11-30&Properties[0].LeadGuestName=Rulee Chen&Properties[0].InsuranceBreakages=1&Properties[0].CommissionType=0&Properties[0].LeadGuestAge=&Properties[0].LeadGuestPassport=&Properties[0].Adults=1&Properties[0].Children=&Properties[0].Infants=&Properties[0].Guests[0].Name=Bruce Lee&Properties[0].Guests[0].Age=&Properties[0].Guests[0].Passport=&Properties[0].Guests[1].Name=Wen Ye&Properties[0].Guests[1].Age=&Properties[0].Guests[1].Passport=&Properties[0].Extras[0].Id=8297&Properties[0].Extras[0].Qty=1&Properties[0].Extras[1].Id=9240&Properties[0].Extras[1].Qty=1&PaymentMethod=Debit%20Card&PaymentToken=d7124bc2-7276-473e-9c37-a1b154b8404e&CardPartialNumbers=1234&IsDeferredPayment=&SagepaySecurityKey=&SagepayVendorTxCode=&SagepayVPSTxId=&SagepayTxAuthNo=&CardType=VISA&InternalNotes=notes&BrandId=1
It is possible to push multiple properties within 1 API Call, you will set all items within Properties[0] for the first property and then for the 2nd property it will be Properties[1], the 3rd property will be Properties[2] and so on
-
Properties[0].Id
: (Compulsory) You must push the iPro PropertyID when creating a new booking -
Properties[0].Checkin
: (Compulsory) You must push the checkin date when creating a new booking -
Properties[0].Checkout
: (Compulsory) You must push the checkout date when creating a new booking -
Properties[0].GuestNotes
: (Optional) Push any comments from the guest to iPro
By using the unique parameter Extras[0], Extras[1], You can push multiple extras to iPro via the API Call
-
Properties[0].Extras[0].Id
: (Optional) If they have ordered an extra with their booking, you will need to push the uniqueID -
Properties[0].Extras[0].Qty
: (Optional) If they have ordered an extra with their booking, you will need to push the QTY they have ordered -
Properties[0].CommissionType
: Discount not deducted = 1, Discount deducted from commission = 2, Discount deducted from owner amount = 3, Discount split between owner and commission 50/50 = 4, Commission Based on Net Price = 5
IMPORTANT set the default as Properties[0].CommissionType=5
-
Properties[0].Adults
: (Compulsory) You must push at least 1 adult when creating a new booking -
Properties[0].Children
: (Optional) You can push the number of children confirmed with the booking -
Properties[0].Infants
: (Optional) You can push the number of infants confirmed with the booking -
Properties[0].LeadGuestName
: (Compulsory) You will need to push the lead guest name so save admin work for the client -
Properties[0].LeadGuestAge
: (Optional) If this is collected it is advised to push with the booking -
Properties[0].LeadGuestPassport
: (Optional) If this is collected it is advised to push with the booking
You can push multiple guest data to iPro, by using the unique parameter Guests[0], Guests[1], etc....
-
Properties[0].Guests[0].Name
: (Optional) If this is collected it is advised to push with the booking -
Properties[0].Guests[0].Age
: (Optional) If this is collected it is advised to push with the booking -
Properties[0].Guests[0].Passport
: (Optional) If this is collected it is advised to push with the booking
-
Properties[0].AccommodationCost
: This parameter will allow you to specify the cost of the booking. If not included the cost will be calculated based on the rates, but if it is included the price in the booking will be set to this value -
Properties[0].ownerAmount
: This parameter will allow you to specify the amount that the owner receives from the booking. If not included the owner amount will be calculated based on the commission, but if it is included the owner amount in the booking will be set to this value -
PaidAmount
: If you are creating a booking with a confirmed payment, you will need to push the paidAmount with the 'Create Booking' API call. If you wish to push a provisional booking then set this amount to 0 as follows PaidAmount=0 -
PaymentToken
When you use payment provider which supports token payment (such as SagePay), you can pass the payment token to us, so that the user can charge the cost from the card in our site via payment token system. -
CardPartialNumbers
You should provide the last 4 digits of the credit card number when you pass the payment token. -
SagepaySecurityKey
Required to link payment to a live SagePay transaction -
SagepayVendorTxCode
Required to link payment to a live SagePay transaction -
SagepayVPSTxId
Required to link payment to a live SagePay transaction -
SagepayTxAuthNo
Required to link payment to a live SagePay transaction -
IsDeferredPayment
When the booking payment is deferred payment, please indicate IsDeferredPayment=true and the related deferred payment tokens. -
PaymentMethod
Depending on how payment methods are set within iPro, the default would be "Debit / Credit Card" -
voucherCode
: This parameter will allow you to push the voucherCode with the booking, iPro will validate the voucherCode and confirm if accepted i.e. &voucherCode=AB1234
-
Contact.ContactId
: If the guest has signed in or you are processing an 'Owner Booking' you can push the contactID and we will automatically assign the booking to that contact.
If you are sending a new contact you will need to push the following parameters to iPro, if an existing contact you can push any updated fields to iPro
-
Contact.Title
: (Optional) - The contact title:
Mr, Mrs, Mr & Mrs, Ms, Miss, Sir, Dr, Dame, Lady, Lord, Master, Reverend, Archbishop, Professor,
-
Contact.FirstName
: (Compulsory) The guest or owner first name -
Contact.LastName
: (Compulsory) The guest or owner last name -
Contact.Email
: (Compulsory) The guest or owner email address -
Contact.Email1
: (Optional) The guest or owner alternative email address -
Contact.Telephone
: (Optional) The guest or owner phone number -
Contact.Mobile
: (Optional) The guest or owner mobile number -
Contact.Address1
: (Optional) The guest or owner address 1 -
Contact.Address2
: (Optional) The guest or owner address 2 -
Contact.City
: (Compulsory) The guest or owner city -
Contact.County
: (Optional) The guest or owner county -
Contact.Postcode
: (Compulsory) The guest or owner postcode -
Contact.Country
: (Optional) The guest or owner country of residence
-
SendEmail
: true/false allows you to set whether to send or NOT send the emails -
BookingTagIds
: These are defined within settings > Booking Tags, they allow you to tag a booking with the relevant tag i.e. 'Website Booking', 'Website Booking in Progress'. Please note that iPro has automated tags based on criteria so you do not need to manage everything via the create booking API.
You can set multiple bookingTags i.e. 16, 17 (provisional booking & website booking)
-
internalNotes
: This parameter will allow you to push any notes from your custom checkout process into "Private Internal Notes" within the booking page -
InsuranceBreakages
: None = 0, Insurance = 1, BreakagesDeposit =2 -
CommissionType
: Discount not deducted = 1, Discount deducted from commission = 2, Discount deducted from owner amount = 3, Discount split between owner and commission 50/50 = 4, Commission Based on Net Price = 5 -
EnquiryID
: When a client is visits the website from an enquiry link, we will pass the enquiryID into the URL. This means you can 'Create the Booking' with reference to the original enquiry source so that we can link the 2 records together automatically.
Response:
{
"Success": true,
"BookingId": 3347,
"PaymentUrl":"http://booking.clientdomain.com/tenerife/golf-del-sur/villa-mountain-view?alttemplate=make-booking-payment&id=3683"
}
The paymentURL allows you to use the built in payment providers within your custom checkout process, you will need to provide iPro with a returnURL so that we can direct the customer back to your website on completion.
You can easily process an owner booking via the API, you will simply need to do the following:
1/ Set ownerBooking = 1 (ownerBooking=1) - This will identify the booking as an owner and will then insert the following information
i. Rental Amount = 0
ii. Booking Tag assigned 'Owner Booking'
iii. Contact will be set as the Owner
iv. Compulsory extras will be removed
2/ We recommend you push the lead guest name, as this maybe different to the owner
3/ We recommend you push the source of the booking into 'internalNotes' i.e. Owner booking added via owner portal
A provisional booking within iPro is a live booking that has not received a guest payment, so to process a booking as a 'Provisional' you simply pass the booking to iPro with no payment assigned.
PaidAmount=0
If you wish to place a property on hold while the guest is processing the booking payment, we would recommend doing the following:
1/ Process a provisional booking once you have the guest details, with the addition of a booking tag 'Website Booking in Progress'
2/ You can then process your payment via your chosen payment provider and once you have received the confirmed payment you will use the 'Create Payment' API endpoint to update the booking with the payment.
3/ If the payment succeeds you will remove the booking tag 'Website Booking in Progress', if the payment fails you will insert a uncleared payment send the booking Tag 'Payment Failed'
- Get Started Authentication
- Get Started Best Practise
- Settings
- Contacts
- Properties
- Properties
- Property Detail
- Property Images
- Property Extras
- Property Reference Lookup
- Property Rates
- Push Property Rates
- Property Custom Rates
- Property Availabilities
- Property Day Availabilities
- Property Rooms
- Property Distances
- Property All
- Property Search
- Property Search Lite
- Property Search Lite v2
- Property Enquiries
- Property Welcome Pack
- Push Property
- Properties Last Updated
- Property Day Availability Check
- Property Reviews
- Property Blockouts
- Property Detail Events
- Property Search Events
- Property Management
- Enquries
- Bookings
- Reviews
- Payments
- Offers & Deals
- Reports
- Communications