Skip to content

Latest commit

 

History

History
126 lines (94 loc) · 3.85 KB

README.md

File metadata and controls

126 lines (94 loc) · 3.85 KB

dayschedule

version license

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

  1. Switch to main branch.
  2. Update the CHANGELOG.md & bump the version in package.json
  3. Commit and Tag the release & push to Github
  4. Create a release on GitHub with changelog
  5. Publish to npm with npm publish command

License

MIT Licensed. See LICENSE.txt for more details