dayschedule-api
v1.0.1
Published
Dayschedule Node.js package for appointment bookings API
Downloads
11
Maintainers
Readme
dayschedule
Official Node.js library for DaySchedule API to integrate online appointments bookings, reservation and calendar scheduling in any tool with embeddable widget on front-end and this SDK on backend for complete white-label appointment scheduling at any scale.
Installation
npm i dayschedule-api
Documentation
Full API documentation to understand the appointment booking flow with DaySchedule is available at - https://dayschedule.com/docs/api
Getting started
Create a DaySchedule
instance with api key. You can get your api keys from the app https://app.dayschedule.com/settings/apikeys
const DaySchedule = require('dayschedule-api');
const daySchedule = new DaySchedule('YOUR_API_KEY');
The SDK is UMD (Universal Module Definition) compatible, which means that it can be loaded in various module formats.
ES6 module
import DaySchedule from 'dayschedule-api'
const daySchedule = new DaySchedule('YOUR_API_KEY');
CommonJS2 (in e.g. node.js)
const DaySchedule = require('dayschedule-api');
const daySchedule = new DaySchedule('YOUR_API_KEY');
Now, the API can be accessed via the daySchedule
instance. All the methods follow the namespaced signature. For example, to fetch all the booked appointments -
// API signature
// {daySchedule}.{api}.{method}(id, [params])
// example
const bookings = await daySchedule.bookings.list();
Every request returns a promise.
Methods
Each API endpoint has these 5 methods list
, get
, create
, update
, delete
API operations. For example, here is the booking API methods -
| Method | Description | Parameters | Return Value |
| -------- | -------------------------------- | ----------------------- | --------------------- |
| list
| Get all the bookings | params: any
| Promise<Bookings[]>
|
| get
| Get details of a booking by ID | id: string
| Promise<Bookings>
|
| create
| Create a new booking | data: any
| Promise<Bookings>
|
| update
| Update an existing booking by ID | id: string, data: any
| Promise<Bookings>
|
| delete
| Delete a booking by ID | id: string
| Promise<any>
|
Booking example:
// Using promises
daySchedule.bookings.create({
"resource":{
"resource_id":"643d0e3511ce9450e585c2a9",
},
"host":{
"user_id":758
},
"start_at":"2023-10-11T09:00:00.000Z",
"end_at":"2023-10-11T09:30:00.000Z",
"invitees":[{
"name":"John Doe",
"email":"[email protected]"
"questions":[
{
"type":"text",
"name":"age",
"label":"What is your age?",
"value":"18"
},
]}
]
}).then(function(response){
console.log(response);
}).catch(function(response){
console.log(response);
});
// Using async/await
const response = await daySchedule.bookings.create({ ... })
More examples
Release
- Switch to
main
branch. - Update the
CHANGELOG.md
& bump the version inpackage.json
- Commit and Tag the release & push to Github
- Create a release on GitHub with changelog
- Publish to npm with
npm publish
command
License
MIT Licensed. See LICENSE.txt for more details