Create a Simple Booking Site or App with our API
Many of our users like to use our dashboard to configure their Providers, Bookables, and Resources, but then use our API to create a unique booking experience for their customers. We’ll assume you’ve already creates some Providers, Bookables, and (optionally) Resources through the dashboard.
There are, of course, many different workflows you could create, but a simple, complete booking experience can be achieved with three API calls. Before making any call, you’ll need to create an authentication header. You’ll need to pass this header along with each of the calls in this example.
Create a Header Now
- Get Provider Information
This call will return all of the information you need to create a landing page with a menu of items available to be booked (Bookables).
curl -X GET https://YOUR_MARKETPLACE_DOMAIN/api/provider/id/{provider_id}
“id”: “”,
“active”: true,
“address”: “”,
“agreementterms”: “”,
“blackouts”: […list_of_blackout_objects…],
“bookablerequestenabled”: false,
“bookingsitepassword”: “”,
“bookingcss”: “”,
“bookinglogo”: “”,
“displaymarketplacelogo”: true,
“drivetime”: 0,
“bookingflow”: “”,
“newbusinesshours”: […availability_frames…],
“capacityrestrictions”: “”,
“city”: “”,
“coordinates”: [],
“coverphoto”: “”,
“custommessage”: “Welcome to our booking site.”,
“datemessage”: “select a date”,
“description”: “”,
“dictionary”: {},
“display_extension_tos”: false,
“displaytext”: {},
“email”: “user@mail.com”,
“name”: “Provider Name”,
“firstname”: “First”,
“gtagmanagercodeprovider”: “”,
“lastname”: “Last”,
“latlong”: [],
“loginenabled”: false,
“nobookablesmessage”: “”,
“notifications”: […default_notification_objects…],
“questions”: […library_of_questions_for_bookables…],
“resourceinvitemessage”: “”,
“missedappointmentmessage”: “”,
“invitemessage”: “”,
“phone”: “”,
“website”: “”,
“facebook”: “”,
“twitter”: “”,
“instagram”: “”,
“pinterest”: “”,
“regions”: [],
“reservationtypes”: […bookable_objects…],
“requirementgroups”: “”,
“reservationsperbooking”: 1,
“resources”: […resource_objects…],
“resourceholds”: […resource_hold_objects…],
“state”: “”,
“subdomain”: “mysubdomain”,
“submitbutton”: “”,
“thankyoumessage”: “”,
“timemessage”: “”,
“timezone”: “”,
“userinstructions”: “”,
“url”: “”,
“zip”: “”,
“users”: “”,
“type”: “provider”,
“whitelabel”: “marketplace_name”,
}
2. Get Availability
This call allows you to retrieve all of the available time slots for a specified Bookable, within a specified date range.
curl -X GET https://YOUR_PROVIDER_SUBDOMAIN.YOUR_MARKETPLACE_DOMAIN/availability/start /2017-09-01%2013:00:00/end/2017-09-02%2015:00:00/bookable/1/resources/1,2,3
“start”: “2017-09-01 13:00:00”
“end”: “2017-09-01 14:00:00”
“bookable”: “1”
“resources”: [“1”, “2”],
“seats_available”: 1
},
{
“start”: “2017-09-01 14:00:00”
“end”: “2017-09-01 15:00:00”
“bookable”: “1”
“resources”: [“3”],
“seats_available”: 1
}]
3. Make Reservation
This call allows you to create a reservation for a specified date and time, on a specified Bookable. You can also specify particular resources to be reserved. In addition to creating the reservation, a customer user will automatically be created.
curl
“bookable”: “bookable_id”,
“comments”: “”,
“customquestions”: […list_of_response_objects…],
“email”: “user@mail.com”,
“end”: “2017-08-04 14:00:00”,
“expires”: “2017-08-04 14:00:00”,
“first_name”: “First”,
“hold”: 0,
“last_name”: “Last”,
“location”: “”,
“mobile_phone_number”: “”,
“networkuser”: “”,
“packaged_bookables”: “”,
“package_id”: “”,
“package_type”: “”,
“phone”: “”,
“provider”: “providersubdomain”,
“paymentinformation”: “”,
“resources”: […list_of_resource_ids…],
“seats”: 1,
“start”: “2017-08-04 13:00:00”,
“status”: “booked”,
“user”: “user_id”,
“type”: “reservation”,
“whitelabel”: “marketplace_name”
}
That’s it! You can easily add more functionality once your booking app is up and running.