What Is a Scheduling API and How Does It Work?

If you are planning to integrate a scheduling solution into your product, meticulous planning and execution will guarantee you a successful outcome. In this article, we’ll give you a primer on how the OnSched scheduling API works, in plain non-technical English :)

🔌 What is a scheduling API?

First of all, what is an API? In simple terms, an API is a communication protocol that allows applications to talk to each other. In our case, when you communicate to OnSched, OnSched responds with a JSON object that contains all the requested information.

Presented below is an example of an OnSched API response when a request for availability is made. Objects formatted in JSON are designed to be human-readable so you will get an idea of what data is being transmitted.

{
  "locationId": "97b82d52-dcc8-4004-8a62-d7f377ea88cf",
  "serviceId": "133436",
  "resourceId": "131",
  "name": "David Smith",
  "email": "david.smith@example.com",
  "startDateTime": "2022-02-18T11:00:00-05:00",
  "endDateTime": "2022-02-18T11:30:00-05:00"
}

💪 What specifically OnSched API handles?

A “scheduling API” is a broad description of an API product, to which many different providers in the space assign a variety of features to. Notably, OnSched is the only true full feature Scheduling API. We, therefore, define it as a fully functional online booking system.

Below is a full list of functionality that the OnSched API handles. Bear in mind that practically every component of our API is customizable:

  • Manage multiple resource calendars (including business hours, holidays, etc.);

  • Sync internal resource calendars with Google/Outlook;

  • Provide available time slots to end-user bookers;

  • Present real-time availability to customers who are booking appointments;

  • Power appointment rescheduling and cancellations;

  • Send tailored SMS and Email appointment reminders.

🔐 Access authorization with OAuth 2.0

OnSched uses OAuth2.0 client credentials to connect to our scheduling API. What does this mean for you? This means you’ll need to start by creating a “backend” otherwise known as “server-side code” which will safely connect to OnSched to retrieve data without risking it falling into the wrong hands. Learn more about why you should build apps with a backend.

⚙️ How does the OnSched API work?

OnSched is a RESTful API, meaning it follows a set of rules for data transfer known as representational state transfer. A RESTful API organizes data entities into a bunch of unique URLs, that differentiate different types of data resources on a server - in our case, that’s /appointments, /availability, /customers, /locations, etc. Check out the full list of available OnSched endpoints here.

A client can get data about a resource by making a request to that endpoint over HTTPS. The request message has a very specific format. Most importantly the start line contains the URL that you wish to access which is preceded by an HTTPS verb or request method which signals your intent with the resource. A “GET” request means you just want to read the data, “POST” means you want to create a new resource, and “DELETE” is for removing data.

Scheduling API diagram - how frontend communicated with the server.

The API request structure has two critical parts - header which contains important metadata about the request, and body - a payload of data like available slots, information on an appointment or service, etc.

The OnSched server will receive the API request and send back a response with appropriate data, which will be interpreted by the client’s application in a way that is suitable for their use case.

⚡️ How to get access to the OnSched API?

We love to guide our customers through the platform the first time they sign up, so in order to get access to the OnSched API, book an intro call with our specialist. We promise it’s pressure-free 😉

  1. Book an intro call & get your sandbox API keys.

  2. Thoughtfully test the API for all of your user flows.

  3. Request production server API keys when ready to go live.

If you have any questions about the OnSched API, we encourage you to book an intro call even if it’s not on your immediate roadmap - let's plan for the future! 🤩

Previous
Previous

What Are The 6 Biggest Benefits of a Scheduling Integration?

Next
Next

Scheduling Functionality Build vs. Buy Whitepaper