QBOS REST API documentation (schedule_model)

(return to Main Document)

Introduction

The schedule_model API allows client applications to maintain schedule_model data including any part of its demographic record sets.

Audience

This developer's guide is intended for software developers needing a technical reference for using the QBOS REST API. The information you find in this guide is written by software engineering, and is authoritative on how the API behaves.

Additional resources, information about this guide

Occasionally, we make a mistake in this documentation, or unknowingly break a feature that you depend on. If this has happened to you, we apologize! You can help us fix the issue by contacting us. We appreciate your help.

Getting Started

To place any request in QBOS API application from third party application you need to authenticate user account and set/calculate values for the following request headers: x-qbos-id, x-qbos-nonce, x-qbos-date-utc, x-qbos-hash-version, x-qbos-auth

See details in Authentication Documentation.

schedule_model properties

Properties prefixed with '_' (underscore) are read-only properties. i.e. POST and PUT processing will ignore these properties.

Name Type Max length Numeric Required
For POST
Filterable Description

id

bigint

 

 

 

Required for GET(by id),PUT,DELETE

parent_id

bigint

 

yes

 

parent_type

nvarchar

50

 

yes

 

type

nvarchar

50

 

 

 

Value is "schedule_model"

label

nvarchar

50

 

 

 

For example: Meeting

color

char

6

 

 

 

Background color of appointment type on schedule of the resource type. Hex color format. For example: FFA500

reminder_secs

int

 

 

 

Send an appointment reminder notice x seconds prior to start

reminder_channels

varchar

3

 

 

 

Send notice by M=e-mail, S=SMS, MS=both

reminder_message

nvarchar

150

 

 

 

Can include data tags. For example: [[APPT_TITLE]] [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]] [[APPT_NOTES]]

resched_notice_sw

bit

 

 

 

1=Notify attendees when appointment schedule changes

resched_notice_channels

varchar

3

 

 

 

Send notice by M=e-mail, S=SMS, MS=both

resched_notice

nvarchar

300

 

 

 

Can include data tags. For example: [[APPT_TITLE]] [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]] [[APPT_NOTES]]

cancel_notice_sw

bit

 

 

 

1=Notify attendees when appointment cancelled (or attendee has been removed from appointment)

cancel_notice_channels

varchar

3

 

 

 

Send notice by M=e-mail, S=SMS, MS=both

cancel_notice

nvarchar

300

 

 

 

Can include data tags. For example: [[APPT_TITLE]] [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]] [[APPT_NOTES]]

notify_attendee_on_add_sw

bit

 

 

 

1=Notify attendees when they have been added to an appointment

notify_attendee_channels

varchar

3

 

 

 

Send notice by M=e-mail, S=SMS, MS=both

notify_attendee_message

nvarchar

150

 

 

 

Can include data tags. For example: [[APPT_TITLE]] [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]] [[APPT_NOTES]]

Read schedule_model by id:

GET https:/.../v1/o/schedule_model/{id}

Response codes:

  • 400 - Client error
  • 500 - Server error
  • 404 - Not found or user does not have permission to access resources of this type.
  • 200 - OK

Response data: GET https:/.../v1/o/schedule_model/750
{ "parent_type" : "contact", "parent_id" : 0, "type" : "schedule_model", "id" : 750, "label" : "Appointment", "color" : "EE82EE", "reminder_secs" : 0, "reminder_channels" : "", "reminder_message" : "Appointment at [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]]", "resched_notice_sw" : 0, "resched_notice_channels" : "", "resched_notice" : "[[APPT_TITLE]] has been reschdeuled to [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]]')", "cancel_notice_sw" : 0, "cancel_notice_channels" : "", "cancel_notice" : "[[APPT_TITLE]] at [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]] has been cancelled", "notify_attendee_on_add_sw" : 0, "notify_attendee_channels" : "", "notify_attendee_message" : "The following has been added to your schedule: [[APPT_TITLE]] at [[APPT_FROM_DATE.hh:mmtt (Mmm dd, yyyy)]]" }

Read schedule_model from parent:

GET https:/.../v1/o/{parent_type}/{parent_id}/links/schedule_model[?{filter}]

Response codes:

  • 400 - Client error
  • 500 - Server error
  • 404 - Not found or user does not have permission to access resources of this type.
  • 200 - OK

GET https:/.../v1/o/contact/0/links/schedule_model
Response example is shown in XML format here even though REST API returns JSON format:
<schedule_model><schedule_model parent_type="contact" parent_id="0" type="schedule_model" id="750" sub_type="" _title="Appointment" href="/v1/o/schedule_model/750"/></schedule_model>

Update schedule_model:

PUT https:/.../v1/o/schedule_model/{id}

Request data [See properties]:

{"schedule_model": [ { "id" : 750, "property_a" : "value-a", "property" : "See schedule_model properties", "property_z" : "value-z" } ] }

Response codes:

  • 400 - Client error
  • 500 - Server error
  • 200 - OK Content returned [See response data]
  • 204 - OK No content
  • 404 - Not found

Delete schedule_model:

DELETE https:/.../v1/o/schedule_model/{id}

The "id" in JSON payload is required to match the {id} in the URI to ensure that deletion requests are intended and safe

{"schedule_model": [{"id":750}]}

Response codes:

  • 400 - Client error
  • 500 - Server error
  • 204 - OK
  • 404 - Not found

Response data:
{}