dayschedule-api
v1.0.1
Published
Dayschedule Node.js package for appointment bookings API
Downloads
6
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