REI Software

REI Software Help Library

Search for any help questions or topics.

Calendar API

O
Orlando
Updated 3 years ago


Calendar

Using our robust API you can customize and manage the appointment scheduling workflow that works for your products and services while we do all the leg work behind the scenes.

 

Calendar/Team

Fetch calendar and team

 

GET/v1/calendars/teams

https://rest.reisoftware.com/v1/calendars/teams

Get all teams.

Authorization:

Provide your location api key (Bearer Token). You can find here


AUTHORIZATION Bearer Token

Token

<token>

 

 

Successful response

Example Request

curl --location --request GET 'https://rest.reisoftware.com/v1/calendars/teams' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

View More

{

  "teams": [

    {

      "id": "OW59k4IchTgKjIDy3VMO",

      "name": "Test Team",

      "members": [

        {

          "id": "mnUXmpG2MhhHKmjegzBZ",

          "name": "Elon Musk",

          "email": "elon@musk.com"

        },

GET/v1/calendars/check-slug-availability/:slug

https://rest.reisoftware.com/v1/calendars/check-slug-availability/:slug

Check Calendar (Provider) slug availability.



Authorization:

Provide your location api key (Bearer Token). You can find here

AUTHORIZATION Bearer Token

Token

<token>

PATH VARIABLES

slug

xyz

(Required) Slug

 

 

Successful response

Example Request

curl --location --request GET 'https://rest.reisoftware.com/v1/calendars/check-slug-availability/xyz' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

{

  "slug": "sales-services",

  "isSlugAvailable": true

}

POST/v1/calendars/teams/

https://rest.reisoftware.com/v1/calendars/teams/


Create a team.

Required JSON fields in the body

Fields

Types

Example

name

string

Test Team

userIds

array

["J37gEVtdFMRYVQWPdXIc"]

calendarConfig

object

{"calendarName": "test", "description": "dfsadfsd", "slug": "tesfdsafdsa", "link": "/widget/appointment/tesfdsafdsa", "shouldAssignContactToTeamMember": false, "shouldSkipAssigningContactForExisting": false}





Required JSON fields in the calendarConfig

Fields

Types

Example

calendarName

string

First Calendar

description

string

Some description

slug

string

first-calendar



Allowed JSON fields in the calendarConfig

Fields

Types

Example

shouldAssignContactToTeamMember

boolean

false

shouldSkipAssigningContactForExisting

boolean

false



Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

HEADERS

Content-Type

application/json

BODYraw

View More

{

    "name": "Sales Team",

    "userIds": [

        "nisi incididunt",

        "laboris veniam Ut"

    ],

    "calendarConfig": {

        "calendarName": "Sales Team Calendar",

        "description": "Sales Team Calendar Services",

        "slug": "sales-team",

        "shouldAssignContactToTeamMember": false,

 

 

Successful response

Example Request

View More

curl --location --request POST 'https://rest.reisoftware.com/v1/calendars/teams/' \

--header 'Authorization: Bearer <token>' \

--data-raw '{

    "name": "Sales Team",

    "userIds": [

        "ea est esse ad velit",

        "ex ut et eiusmod"

    ],

    "calendarConfig": {

        "calendarName": "Sales Team Calendar",

        "description": "Sales Team Calendar Services",

Example Response

200 OK

BodyHeader(1)

View More

{

  "id": "OW59k4IchTgKjIDy3VMO",

  "name": "Test Team",

  "members": [

    {

      "id": "mnUXmpG2MhhHKmjegzBZ",

      "name": "Elon Musk",

      "email": "elon@musk.com"

    },

    {

      "id": "mnUXmpG2MhhHKmjegzBZ",

PUT/v1/calendars/teams/:teamId



https://rest.reisoftware.com/v1/calendars/teams/:teamId

Updating existing team.

Required JSON fields in the body

Fields

Types

Example

name

string

Test Team

userIds

array

["J37gEVtdFMRYVQWPdXIc"]

calendarConfig

object

{"calendarName": "test", "description": "dfsadfsd", "slug": "tesfdsafdsa", "link": "/widget/appointment/tesfdsafdsa", "shouldAssignContactToTeamMember": false, "shouldSkipAssigningContactForExisting": false}



Required JSON fields in the calendarConfig

Fields

Types

Example

calendarName

string

First Calendar

description

string

Some description

slug

string

first-calendar



Allowed JSON fields in the calendarConfig

Fields

Types

Example

shouldAssignContactToTeamMember

boolean

false

shouldSkipAssigningContactForExisting

boolean

false



Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

HEADERS

Content-Type

application/json

PATH VARIABLES

teamId

0nU7uKSrtT2RVM1KknuF

(Required) Team Id

BODYraw

View More

{

    "name": "Sales Team",

    "userIds": [

        "ea est esse ad velit",

        "ex ut et eiusmod"

    ],

    "calendarConfig": {

        "calendarName": "Sales Team Calendar",

        "description": "Sales Team Calendar Services",

        "slug": "sales-team",

        "shouldAssignContactToTeamMember": false,

 

 

Successful response

Example Request

View More

curl --location --request PUT 'https://rest.reisoftware.com/v1/calendars/teams/0nU7uKSrtT2RVM1KknuF' \

--header 'Authorization: Bearer <token>' \

--data-raw '{

    "name": "Sales Team",

    "userIds": [

        "ea est esse ad velit",

        "ex ut et eiusmod"

    ],

    "calendarConfig": {

        "calendarName": "Sales Team Calendar",

        "description": "Sales Team Calendar Services",

Example Response

200 OK

BodyHeader(1)

View More

{

  "id": "OW59k4IchTgKjIDy3VMO",

  "name": "Test Team",

  "members": [

    {

      "id": "mnUXmpG2MhhHKmjegzBZ",

      "name": "Elon Musk",

      "email": "elon@musk.com"

    },

    {

      "id": "mnUXmpG2MhhHKmjegzBZ",

DEL/v1/calendars/teams/:teamId



https://rest.reisoftware.com/v1/calendars/teams/:teamId

Delete Team.

Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

PATH VARIABLES

teamId

0nU7uKSrtT2RVM1KknuF

(Required) Team Id

 

 

Successful response

Example Request

curl --location --request DELETE 'https://rest.reisoftware.com/v1/calendars/teams/0nU7uKSrtT2RVM1KknuF' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

No response body

This request doesn't return a response body

Calendar/Service

 

GET/v1/calendars/services

https://rest.reisoftware.com/v1/calendars/services?teamId=ABXdTR0kegkPcTvtdr1L

Get all calendar services.

Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

PARAMS

teamId

ABXdTR0kegkPcTvtdr1L

Filter service by team id.

 

 

Successful response

Example Request

curl --location --request GET 'https://rest.reisoftware.com/v1/calendars/services?teamId=ABXdTR0kegkPcTvtdr1L' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

View More

{

  "services": [

    {

      "id": "OW59k4IchTgKjIDy3VMO",

      "name": "Test Service",

      "description": "Test Service Desc.",

      "appointmentTitle": "{{contact.name}}",

      "meetingLocation": "location",

      "eventColor": "#FF0000",

      "teamId": "#FF0000",

      "linkedCalendars": {

POST/v1/calendars/services/

https://rest.reisoftware.com/v1/calendars/services/

Create a service


Required JSON fields in the body

View More

Fields

Types

Example

Allowed Option?

teamId

string

O4qa8K1M6xA4oPXu1b8O


name

string

Awsome Service


description

string

Awsome description


eventType

string

RoundRobin_OptimizeForAvailability

  • RoundRobin_OptimizeForAvailability

  • RoundRobin_OptimizeForEqualDistribution

teamMembers

obbject

See field info on the teamMembers table


slug

string

awsome-service


appointmentTitle

string

{{contact.name}}


eventColor

string

Tomato

  • Banana

  • Basil

  • Blueberry

  • Flamingo

  • Grape

  • Graphite

  • Lavender

  • Peacock

  • Sage

  • Tangerine

  • Tomato

availability

object

See field info on availability table.


confirmation

object

See field info on confirmation table.




Allowed JSON fields in the body

Fields

Types

Example

Allowed Option

isActive

boolean

true


syncOption

string

oneway

  • oneway

  • twoway

slug

string

first-calendar




Allowed JSON fields in the teamMembers

Fields

Types

Example

Allowed Options

is Required?

userId

string

GCs5KuzPqTls7vWclkEV


Yes

priority

string

High

  • High

  • Medium

  • Low

Yes

selected

boolean

true


Yes

meetingLocation

string

https://zoom.us/j/XXXXXXXXXX


No



Allowed JSON fields in the availability

Fields

Types

Example

is Required?

eventTiming

object

See field info on availability.eventTiming table.

Yes

officeHours

object

See field info on availability.officeHours table.

Yes

appointmentInfo

object

See field info on availability.appointmentInfo table.

No

schedule

object

See field info on availability.schedule table.

No




Allowed JSON fields in the availability.eventTiming

View More

Fields

Types

Example

Allowed Options

is Required?

slotDuration

number

30

  • 10

  • 15

  • 20

  • 30

  • 45

  • 60

  • 90

  • 120

  • 180

  • 240

  • 300

  • 360

  • 420

  • 480

Yes

slotInterval

number

30

  • 10

  • 15

  • 20

  • 30

  • 45

  • 60

  • 90

  • 120

  • 180

  • 240

  • 300

  • 360

  • 420

  • 480

Yes

slotBuffer

number

1


No




Allowed JSON fields in the availability.appointmentInfo

Fields

Types

Example

is Required?

perSlot

number

1

No

perDay

number

5

No




Allowed JSON fields in the availability.schedule

View More

Fields

Types

Example

Allowed Options

is Required?

allowBookingAfter

number

1


No

allowBookingAfterUnit

string

days

  • hours

  • days

  • weeks

  • months

No

allowBookingFor

number

5

No


allowBookingForUnit

string

days

  • hours

  • days

  • weeks

  • months

No



Allowed JSON fields in the availability.officeHours

Fields

Types

Example

is Required?

monday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

tuesday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

wednesday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

thursday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

friday

array

Please see field info availability.officeHours.days table. include as a array.

Yes



Allowed JSON fields in the availability.officeHours.days

Fields

Types

Example

is Required?

openMinute

number

0

Yes

openHour

number

8

Yes

closeMinute

number

0

Yes

closeHour

number

17

Yes



Allowed JSON fields in the confirmation

View More

Fields

Types

Example

is Required?

form

object

See field info on confirmation.form table.

No

notificationAndOther

object

See field info on confirmation.notificationAndOther table.

Yes

formSubmission

object

See field info on confirmation.formSubmission table.

Yes



Allowed JSON fields in the confirmation.form

Fields

Types

Example

is Required?

customFormId

string

jjusM6EOngDExnbo2DbU

No

stickyContact

boolean

false

No




Allowed JSON fields in the confirmation.notificationAndOther

Fields

Types

Example

is Required?

autoConfirm

boolean

false

Yes

shouldSendAlertEmailsToAssignedMember

boolean

false

Yes

googleInvitationEmails

boolean

false

Yes

allowReschedule

boolean

false

Yes

allowCancellation

boolean

false

Yes

alertEmail

string

john@deo.com

No

notes

string

Awesome Notes

No

facebookPixelId

string

XXXXXXXXXX

No



Allowed JSON fields in the confirmation.formSubmission

Fields

Types

Example

Allowed Options

is Required?

type

string

ThankYouMessage

  • ThankYouMessage

  • RedirectURL

Yes

content

string

Thank you for your appointment request.


Yes



Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

HEADERS

Content-Type

application/json


BODYraw

View More

{

    "teamId": "0RXEzw5UVe5oLFm6GQls",

    "eventType": "RoundRobin_OptimizeForAvailability",

    "teamMembers": [

        {

            "selected": true,

            "userId": "0nU7uKSrtT2RVM1KknuF",

            "priority": "Low",

            "meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"

        },

        {

 

 

Successful response

Example Request

View More

curl --location --request POST 'https://rest.reisoftware.com/v1/calendars/services/' \

--header 'Authorization: Bearer <token>' \

--data-raw '{

    "teamId": "0RXEzw5UVe5oLFm6GQls",

    "eventType": "RoundRobin_OptimizeForAvailability",

    "teamMembers": [

        {

            "selected": true,

            "userId": "0nU7uKSrtT2RVM1KknuF",

            "priority": "Low",

            "meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"

Example Response

200 OK

BodyHeader(1)

View More

{

  "id": "OW59k4IchTgKjIDy3VMO",

  "name": "Test Service",

  "description": "Test Service Desc.",

  "appointmentTitle": "{{contact.name}}",

  "meetingLocation": "location",

  "eventColor": "#FF0000",

  "teamId": "#FF0000",

  "linkedCalendars": {

    "google": {

      "id": "adipisicing laboris veniam ",

PUT/v1/calendars/services/:serviceId



https://rest.reisoftware.com/v1/calendars/services/:serviceId

Update existing service

Required JSON fields in the body

View More

Fields

Types

Example

Allowed Option?

teamId

string

O4qa8K1M6xA4oPXu1b8O


name

string

Awsome Service


description

string

Awsome description


eventType

string

RoundRobin_OptimizeForAvailability

  • RoundRobin_OptimizeForAvailability

  • RoundRobin_OptimizeForEqualDistribution

teamMembers

obbject

See field info on the teamMembers table


slug

string

awsome-service


appointmentTitle

string

{{contact.name}}


eventColor

string

Tomato

  • Banana

  • Basil

  • Blueberry

  • Flamingo

  • Grape

  • Graphite

  • Lavender

  • Peacock

  • Sage

  • Tangerine

  • Tomato

availability

object

See field info on availability table.


confirmation

object

See field info on confirmation table.




Allowed JSON fields in the body

Fields

Types

Example

Allowed Option

isActive

boolean

true


syncOption

string

oneway

  • oneway

  • twoway

slug

string

first-calendar




Allowed JSON fields in the teamMembers

Fields

Types

Example

Allowed Options

is Required?

userId

string

GCs5KuzPqTls7vWclkEV


Yes

priority

string

High

  • High

  • Medium

  • Low

Yes

selected

boolean

true


Yes

meetingLocation

string

https://zoom.us/j/XXXXXXXXXX


No



Allowed JSON fields in the availability

Fields

Types

Example

is Required?

eventTiming

object

See field info on availability.eventTiming table.

Yes

officeHours

object

See field info on availability.officeHours table.

Yes

appointmentInfo

object

See field info on availability.appointmentInfo table.

No

schedule

object

See field info on availability.schedule table.

No




Allowed JSON fields in the availability.eventTiming

View More

Fields

Types

Example

Allowed Options

is Required?

slotDuration

number

30

  • 10

  • 15

  • 20

  • 30

  • 45

  • 60

  • 90

  • 120

  • 180

  • 240

  • 300

  • 360

  • 420

  • 480

Yes

slotInterval

number

30

  • 10

  • 15

  • 20

  • 30

  • 45

  • 60

  • 90

  • 120

  • 180

  • 240

  • 300

  • 360

  • 420

  • 480

Yes

slotBuffer

number

1


No





Allowed JSON fields in the availability.appointmentInfo

Fields

Types

Example

is Required?

perSlot

number

1

No

perDay

number

5

No




Allowed JSON fields in the availability.schedule

View More

Fields

Types

Example

Allowed Options

is Required?

allowBookingAfter

number

1


No

allowBookingAfterUnit

string

days

  • hours

  • days

  • weeks

  • months

No

allowBookingFor

number

5

No


allowBookingForUnit

string

days

  • hours

  • days

  • weeks

  • months

No



Allowed JSON fields in the availability.officeHours

Fields

Types

Example

is Required?

monday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

tuesday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

wednesday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

thursday

array

Please see field info availability.officeHours.days table. include as a array.

Yes

friday

array

Please see field info availability.officeHours.days table. include as a array.

Yes




Allowed JSON fields in the availability.officeHours.days

Fields

Types

Example

is Required?

openMinute

number

0

Yes

openHour

number

8

Yes

closeMinute

number

0

Yes

closeHour

number

17

Yes



Allowed JSON fields in the confirmation

View More

Fields

Types

Example

is Required?

form

object

See field info on confirmation.form table.

No

notificationAndOther

object

See field info on confirmation.notificationAndOther table.

Yes

formSubmission

object

See field info on confirmation.formSubmission table.

Yes




Allowed JSON fields in the confirmation.form

Fields

Types

Example

is Required?

customFormId

string

jjusM6EOngDExnbo2DbU

No

stickyContact

boolean

false

No




Allowed JSON fields in the confirmation.notificationAndOther

Fields

Types

Example

is Required?

autoConfirm

boolean

false

Yes

shouldSendAlertEmailsToAssignedMember

boolean

false

Yes

googleInvitationEmails

boolean

false

Yes

allowReschedule

boolean

false

Yes

allowCancellation

boolean

false

Yes

alertEmail

string

john@deo.com

No

notes

string

Awesome Notes

No

facebookPixelId

string

XXXXXXXXXX

No




Allowed JSON fields in the confirmation.formSubmission

Fields

Types

Example

Allowed Options

is Required?

type

string

ThankYouMessage

  • ThankYouMessage

  • RedirectURL

Yes

content

string

Thank you for your appointment request.


Yes




Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

HEADERS

Content-Type

application/json

PATH VARIABLES

serviceId

0RXEzw5UVe5oLFm6GQls

(Required) Service Id

BODYraw

View More

{

    "teamId": "0RXEzw5UVe5oLFm6GQls",

    "eventType": "RoundRobin_OptimizeForAvailability",

    "teamMembers": [

        {

            "selected": true,

            "userId": "0nU7uKSrtT2RVM1KknuF",

            "priority": "Low",

            "meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"

        },

        {

 

 

Successful response

Example Request

View More

curl --location --request PUT 'https://rest.reisoftware.com/v1/calendars/services/0RXEzw5UVe5oLFm6GQls' \

--header 'Authorization: Bearer <token>' \

--data-raw '{

    "teamId": "0RXEzw5UVe5oLFm6GQls",

    "eventType": "RoundRobin_OptimizeForAvailability",

    "teamMembers": [

        {

            "selected": true,

            "userId": "0nU7uKSrtT2RVM1KknuF",

            "priority": "Low",

            "meetingLocation": "PhoneNumber/ZoomLink/GoogleMeet/Location"

Example Response

200 OK

BodyHeader(1)

View More

{

  "id": "OW59k4IchTgKjIDy3VMO",

  "name": "Test Service",

  "description": "Test Service Desc.",

  "appointmentTitle": "{{contact.name}}",

  "meetingLocation": "location",

  "eventColor": "#FF0000",

  "teamId": "#FF0000",

  "linkedCalendars": {

    "google": {

      "id": "adipisicing laboris veniam ",

DEL/v1/calendars/services/:serviceId



https://rest.reisoftware.com/v1/calendars/services/:serviceId

Delete Service.

Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

PATH VARIABLES

serviceId

0RXEzw5UVe5oLFm6GQls

(Required) Service Id

 

 

Successful response

Example Request

curl --location --request DELETE 'https://rest.reisoftware.com/v1/calendars/services/0RXEzw5UVe5oLFm6GQls' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

No response body

This request doesn't return a response body




Appointment

Booking Appointment

 

GET/v1/appointments/slots

https://rest.reisoftware.com/v1/appointments/slots?calendarId=CVokAlI8fgw4WYWoCtQz&startDate=1598898600000&endDate=1601490599999&timezone=America/Chihuahua&userId=082goXVW3lIExEQPOnd3

Get free slots.

Required fields in the query

View More

Fields

Types

Example

calendarId

string

CVokAlI8fgw4WYWoCtQz

startDate

integer

epoch timestamp. for ex: 1548898600000

endDate

integer

epoch timestamp. for ex: 1601490599999




Allowed field in the query

Fields

Types

Example

userId

string

082goXVW3lIExEQPOnd3

timezone

string

America/Chihuahua



Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

PARAMS

calendarId

CVokAlI8fgw4WYWoCtQz

(Required) Calendar Id

startDate

1598898600000

(Required) epoch timestamp

endDate

1601490599999

(Required) epoch timestamp

timezone

America/Chihuahua

Timezone

userId

082goXVW3lIExEQPOnd3

User Id

 

 

Successful response

Example Request

curl --location --request GET 'https://rest.reisoftware.com/v1/appointments/slots?calendarId=CVokAlI8fgw4WYWoCtQz&startDate=1598898600000&endDate=1601490599999&timezone=America/Chihuahua&userId=082goXVW3lIExEQPOnd3' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

{

  "_dates_": {

    "slots": [

      "2020-09-04T08:00:00+05:30",

      "2020-09-04T08:00:00+05:30"

    ]

  }

}

GET/v1/appointments/



https://rest.reisoftware.com/v1/appointments/?startDate=1548898600000&endDate=1601490599999&userId=082goXVW3lIExEQPOnd3&calendarId=0nU7uKSrtT2RVM1KknuF&teamId=O4qa8K1M6xA4oPXu1b8O&includeAll=true

Get all booked events.

Required fields in the query

View More

Fields

Types

Example

startDate

integer

epoch timestamp. for ex: 1548898600000

endDate

integer

epoch timestamp. for ex: 1601490599999

userId(or calendarId or teamId)

string

082goXVW3lIExEQPOnd3

calendarId(or userId or teamId)

string

0nU7uKSrtT2RVM1KknuF

teamId(or userId or calendarId)

string

O4qa8K1M6xA4oPXu1b8O



Allowed field in the query

Fields

Types

Example

includeAll

boolean

Include contact and more data. for ex: true



Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

PARAMS

startDate

1548898600000

(Required) epoch timestamp

endDate

1601490599999

(Required) epoch timestamp

userId

082goXVW3lIExEQPOnd3

User Id

calendarId

0nU7uKSrtT2RVM1KknuF

Calendar Id

teamId

O4qa8K1M6xA4oPXu1b8O

Team Id

includeAll

true

Include contact and more data.

 

 

Successful response

Example Request

curl --location --request GET 'https://rest.reisoftware.com/v1/appointments/?startDate=1548898600000&endDate=1601490599999&userId=082goXVW3lIExEQPOnd3&calendarId=0nU7uKSrtT2RVM1KknuF&teamId=O4qa8K1M6xA4oPXu1b8O&includeAll=true' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

View More

{

  "appointments": [

    {

      "id": "EaALh02zfPo8VB3JOnpq",

      "userId": "GCs5KuzPqTls7vWclkEV",

      "calendarProviderId": "0nU7uKSrtT2RVM1KknuF",

      "calendarId": "9qFx5qCKr3jIdBw0DiqB",

      "contactId": "v1kbP2GBSZq6yzRkh7KT",

      "calendarServiceId": "CVokAlI8fgw4WYWoCtQz",

      "isRecurring": false,

      "status": "booked",

POST/v1/appointments/

https://rest.reisoftware.com/v1/appointments/

Booking Appoinment.

HL Appointments API provides several different ways the endpoints can be leveraged, You can examine its application depending on any of the following use cases:

Use case #1: Schedule Appointments

This predominantly focuses on consumer facing online booking applications. To be able to use it effectively, consider the following parameters during your set-up.



Required JSON fields in the body

View More

Fields

Types

Example

email(or phone)

string

johndeo@gmail.com

phone(or email)

string

+1 888-888-8888

selectedSlot

datetime

2021-02-05T11:00:00+05:30

selectedTimezone

string

Asia/Calcutta

calendarId

string

J37gEVtdFMRYVQWPdXIc



Allowed JSON fields in the body

Fields

Types

Example

firstName

string

John

lastName

string

Deo

name

string

John Deo

title

string

Best Event

address1

long

Tonkawa Trail W

city

string

Austin

state

string

Texas

website

string(url)

https://www.google.com

__custome_field_id__

string/array

Test

calendarNotes

long

Booked from public api



Use case #2: Block Off Time (Event Blocks)

This focuses specifically on actions surrounding internal applications such as posting a custom event block availability within your own application. While its application covers a range of different scenarios, you can use the following parameters during your set-up.

Required JSON fields in the body

Fields

Types

Example

selectedSlot

datetime

2021-02-10T10:00:00Z

endAt

datetime

2021-02-12T10:00:00Z

calendarId/userId

string

J37gEVtdFMRYVQWPdXIc



Allowed JSON fields in the body

View More

Fields

Types

Example

title

string

Blocking Event

 






Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

HEADERS

Content-Type

application/json

BODYraw

{

    "calendarId": "CVokAlI8fgw4WYWoCtQz",

    "selectedTimezone": "Asia/Calcutta",

    "selectedSlot": "2021-06-23T03:30:00+01:00",

    "email": "john@deo.com",

    "phone": "+18887324197"

}

 

 

Successful response

Example Request

curl --location --request POST 'https://rest.reisoftware.com/v1/appointments/' \

--header 'Authorization: Bearer <token>' \

--data-raw '{

    "calendarId": "CVokAlI8fgw4WYWoCtQz",

    "selectedTimezone": "Asia/Calcutta",

    "selectedSlot": "2021-06-23T03:30:00+01:00",

    "email": "john@deo.com",

    "phone": "+18887324197"

}'

Example Response

200 OK

BodyHeader(1)

View More

{

  "id": "004B1SpcAvh3s9E3rqk8",

  "contactId": "0007BWpSzSwfiuSl0tR2",

  "contact": {

    "id": "0007BWpSzSwfiuSl0tR2",

    "locationId": "C2QujeCh8ZnC7al2InWR",

    "email": "JohnDeo@gmail.com",

    "emailLowerCase": "johndeo@gmail.com",

    "fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",

    "timezone": "Asia/Calcutta",

    "country": "DE",

GET/v1/appointments/:appointmentId

https://rest.reisoftware.com/v1/appointments/:appointmentId

Get appointment by id.

 

Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

PATH VARIABLES

appointmentId

004B1SpcAvh3s9E3rqk8

(Required) Appointment Id

 

 

Successful response

Example Request

curl --location --request GET 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

View More

{

  "id": "EaALh02zfPo8VB3JOnpq",

  "userId": "GCs5KuzPqTls7vWclkEV",

  "calendarProviderId": "0nU7uKSrtT2RVM1KknuF",

  "calendarId": "9qFx5qCKr3jIdBw0DiqB",

  "contactId": "v1kbP2GBSZq6yzRkh7KT",

  "calendarServiceId": "CVokAlI8fgw4WYWoCtQz",

  "isRecurring": false,

  "status": "booked",

  "appoinmentStatus": "confirmed",

  "title": "Calendar Standup",

PUT/v1/appointments/:appointmentId

https://rest.reisoftware.com/v1/appointments/:appointmentId

Update exisiting appoinment.

 

Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

HEADERS

Content-Type

application/json

PATH VARIABLES

appointmentId

004B1SpcAvh3s9E3rqk8

(Required) Appointment Id

BODYraw

{

    "selectedTimezone": "Asia/Calcutta",

    "selectedSlot": "2020-08-28T15:30:00"

}

 

 

Successful response

Example Request

curl --location --request PUT 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8' \

--header 'Authorization: Bearer <token>' \

--data-raw '{

    "selectedTimezone": "Asia/Calcutta",

    "selectedSlot": "2020-08-28T15:30:00"

}'

Example Response

200 OK

BodyHeader(1)

View More

{

  "id": "004B1SpcAvh3s9E3rqk8",

  "contactId": "0007BWpSzSwfiuSl0tR2",

  "contact": {

    "id": "0007BWpSzSwfiuSl0tR2",

    "locationId": "C2QujeCh8ZnC7al2InWR",

    "email": "JohnDeo@gmail.com",

    "emailLowerCase": "johndeo@gmail.com",

    "fingerprint": "91f4f0e0-e2dd-11ea-9b16-53b2d72e8a24",

    "timezone": "Asia/Calcutta",

    "country": "DE",

DEL/v1/appointments/:appointmentId

https://rest.reisoftware.com/v1/appointments/:appointmentId

Delete exisiting appoinment.

 

Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

PATH VARIABLES

appointmentId

004B1SpcAvh3s9E3rqk8

(Required) Appointment Id

 

 

Successful response

Example Request

curl --location --request DELETE 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8' \

--header 'Authorization: Bearer <token>'

Example Response

200 OK

BodyHeader(1)

""

PUT/v1/appointments/:appointmentId/status

https://rest.reisoftware.com/v1/appointments/:appointmentId/status

Update exisiting appoinment status.




Required JSON fields in the body

View More

Fields

Types

Example

Allowed Options

status

string

confirmed

  • confirmed

  • cancelled

  • showed

  • noshow

  • invalid



 


Authorization:

Provide your location api key (Bearer Token).  

AUTHORIZATION Bearer Token

Token

<token>

HEADERS

Content-Type

application/json

PATH VARIABLES

appointmentId

004B1SpcAvh3s9E3rqk8

(Required) Appointment Id

BODYraw

{

    "status": "confirmed"

}

 

 

Successful response

Example Request

curl --location --request PUT 'https://rest.reisoftware.com/v1/appointments/004B1SpcAvh3s9E3rqk8/status' \

--header 'Authorization: Bearer <token>' \

--data-raw '{

    "status": "confirmed"

}'

Example Response

200 OK

BodyHeader(1)

No response body

This request doesn't return a response body

😞 😐 😃