Public API Documentation for VRScheduler
API Playground: https://api.vrscheduler.com/api/doc/public_api
AuthToken Request Format on Header -
VRS “Auth token provided in login API”
Example: - VRS eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImV4cCI6IjM2MDAwMDAwMDAwMDAwIn0.eyJDdXNYXNvbiIsInByb3BlcnRpZXMiOlt7InJlc29
Rate limiting: Currently, each account is limited to 50 requests per 2 minutes.
Endpoints ¶
Note: Auth Token required to send in header of All Api’s expect login api
Authentication
Used to get auth token and refresh token
Note: All Arguments are Optional.
Note: Auth Token expiry time is 1 hour and refresh token expiry time is 24 hours
Get an authtoken ¶
Get an authtokenPOST/api/v1/oauth/login
Example URI
Headers
Content-Type: application/json
Body
{
"API_Key": "32C246C4",
"API_Value": "D9DC6018"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"API_Key": {
"type": "string",
"description": "A4BC-4872-A0B56CA7633C886 (string, required) - Unique identifier for the task."
},
"API_Value": {
"type": "string",
"description": "E30B-4C70-AC88366EDA5D5F28 (string, required) - Associated PropertyBooking Object."
}
}
}
200
Headers
Content-Type: application/json
Body
{
"Access_Token": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImV4cCI6IjM2MDAifQ.eyJDdXN0b21lcklEIjo3MCwiQ3VzdG9tZXJOYW1lIjoiSmlsbCBNYXNvbiIsInByb3BlcnRpZXMiOlt7InJlc291cnNlTmFtZSI6Iklzc3VlcyIsImFjY2Vzc0xldmVsIjowLCJyZXN0cmljdFBlcnNvbmFsRGF0YSI6ZmFsc2V9LHsicmVzb3Vyc2VOYW1lIjoiT",
"Created": "202003011004",
"Expiry": 3600
},
"Refresh_Token": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImV4cCI6IjM2MDAifQ.eyJDdXN0b21lcklEIjo3MCwiQ3VzdG9tZXJOYW1lIjoiSmlsbCBNYXNvbiIsInByb3BlcnRpZXMiOlt7InJlc291cnNlTmFtZSI6Iklzc3VlcyIsImFjY2Vzc0xldmVsIjowLCJyZXN0cmljdFBlcnNvbmFsRGF0YSI6ZmFsc2V9LHsicmVzb3Vyc2VOYW1lIjoiT",
"Created": "202003011004",
"Expiry": 86400
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Access_Token": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"Created": {
"type": "string"
},
"Expiry": {
"type": "number"
}
}
},
"Refresh_Token": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"Created": {
"type": "string"
},
"Expiry": {
"type": "number"
}
}
}
}
}
Get an AuthToken Using RefreshToken ¶
Get an AuthToken Using RefreshTokenGET/api/v1/oauth/refresh
Note: Send Refresh token in header to get Auth Token
Example of Header Request Token -
Authorization(Key) - Refresh Token Provided in Login API(Value)
Example URI
Headers
Authorization: VRS <refresh_token>
200
Headers
Content-Type: application/json
Body
{
"ReasonCode": 0,
"ReasonText": "Success",
"Access_Token": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImV4cCI6IjM2MDAifQ.eyJDdXN0b21lcklEIjo3MCwiQ3VzdG9tZXJOYW1lIjoiSmlsbCBNYXNvbiIsInByb3BlcnRpZXMiOlt7InJlc291cnNlTmFtZSI6Iklzc3VlcyIsImFjY2Vzc0xldmVsIjowLCJyZXN0cmljdFBlcnNvbmFsRGF0YSI6ZmFsc2V9LHsicmVzb3Vyc2VOYW1lIjoiT",
"Created": "202003011004",
"Expiry": 3600
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"ReasonCode": {
"type": "number"
},
"ReasonText": {
"type": "string"
},
"Access_Token": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"Created": {
"type": "string"
},
"Expiry": {
"type": "number"
}
}
}
}
}
Properties ¶
The Property object is the core resource to represent physical properties. Most other resources (like Tasks, Issues) are attached to a property.
Note: All Arguments are Optional.
Get PropertiesGET/api/v1/properties?OwnerID={OwnerID}&Active={Active}&RegionID={RegionID}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- OwnerID
number
(optional) Example: 256The unique identifier for the ownerid.
- RegionID
number
(optional) Example: 1The unique identifier for the regionid.
- Active
boolean
(optional) Example: 1Flag to filter properties by their active status.
1
= Active properties,0
= Inactive properties. If not included, only active properties are returned by default.- Sort
string
(optional) Default: PropertyID asc Example: PropertyName ascExample 2: sort=CreateDate desc, PropertyID asc
Available Sort Fields: PropertyID, PropertyName, CreateDate.
Available Sort Order: asc or desc. (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/properties",
"has_more": true,
"data": {
"PropertyID": 163,
"Active": true,
"PropertyName": "Waterfront Cabin",
"PropertyAbbreviation": "WAT",
"PropertyNotes": "property notes",
"InternalNotes": "Internal notes",
"Address": "123 Main St. Sunnyvale, CA 94086",
"Lat": 0,
"Lon": 0,
"DoorCode": "1234",
"DefaultCheckInTime": 15,
"DefaultCheckInTimeMinutes": 0,
"DefaultCheckOutTime": 11,
"DefaultCheckOutTimeMinutes": 0,
"OwnerID": 34,
"RegionID": 23,
"PropertyStatusID": 163,
"CreateDate": 20170616
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"PropertyID": {
"type": "number"
},
"Active": {
"type": "boolean"
},
"PropertyName": {
"type": "string"
},
"PropertyAbbreviation": {
"type": "string"
},
"PropertyNotes": {
"type": "string"
},
"InternalNotes": {
"type": "string"
},
"Address": {
"type": "string"
},
"Lat": {
"type": "number"
},
"Lon": {
"type": "number"
},
"DoorCode": {
"type": "string"
},
"DefaultCheckInTime": {
"type": "number"
},
"DefaultCheckInTimeMinutes": {
"type": "number"
},
"DefaultCheckOutTime": {
"type": "number"
},
"DefaultCheckOutTimeMinutes": {
"type": "number"
},
"OwnerID": {
"type": "number"
},
"RegionID": {
"type": "number"
},
"PropertyStatusID": {
"type": "number"
},
"CreateDate": {
"type": "number"
}
}
}
}
}
Get Property by IDGET/api/v1/properties/{PropertyID}
Note: Need Auth token in header for this api
Example URI
- PropertyID
number
(required) Example: 256The unique identifier for the propertyid.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/properties",
"has_more": true,
"data": {
"PropertyID": 163,
"Active": true,
"PropertyName": "Waterfront Cabin",
"PropertyAbbreviation": "WAT",
"PropertyNotes": "property notes",
"InternalNotes": "Internal notes",
"Address": "123 Main St. Sunnyvale, CA 94086",
"Lat": 0,
"Lon": 0,
"DoorCode": "1234",
"DefaultCheckInTime": 15,
"DefaultCheckInTimeMinutes": 0,
"DefaultCheckOutTime": 11,
"DefaultCheckOutTimeMinutes": 0,
"OwnerID": 34,
"RegionID": 23,
"PropertyStatusID": 163,
"CreateDate": 20170616
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"PropertyID": {
"type": "number"
},
"Active": {
"type": "boolean"
},
"PropertyName": {
"type": "string"
},
"PropertyAbbreviation": {
"type": "string"
},
"PropertyNotes": {
"type": "string"
},
"InternalNotes": {
"type": "string"
},
"Address": {
"type": "string"
},
"Lat": {
"type": "number"
},
"Lon": {
"type": "number"
},
"DoorCode": {
"type": "string"
},
"DefaultCheckInTime": {
"type": "number"
},
"DefaultCheckInTimeMinutes": {
"type": "number"
},
"DefaultCheckOutTime": {
"type": "number"
},
"DefaultCheckOutTimeMinutes": {
"type": "number"
},
"OwnerID": {
"type": "number"
},
"RegionID": {
"type": "number"
},
"PropertyStatusID": {
"type": "number"
},
"CreateDate": {
"type": "number"
}
}
}
}
}
Create PropertyPOST/api/v1/properties
Note: Need Auth token in header for this api.
Example URI
Headers
Content-Type: application/json
Authorization: VRS <access_token>
Body
{
"PropertyName": "PropertyName",
"Abbreviation": "PN",
"Address": "Property Address",
"OwnerID": 33,
"RegionID": 21,
"DefaultCheckInTime": 16,
"DefaultCheckInTimeInMinutes": 30,
"DefaultCheckOutTime": 16,
"DefaultCheckOutTimeInMinutes": 30
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"PropertyName": {
"type": "string"
},
"Abbreviation": {
"type": "string"
},
"Address": {
"type": "string"
},
"OwnerID": {
"type": "number"
},
"RegionID": {
"type": "number"
},
"DefaultCheckInTime": {
"type": "number"
},
"DefaultCheckInTimeInMinutes": {
"type": "number"
},
"DefaultCheckOutTime": {
"type": "number"
},
"DefaultCheckOutTimeInMinutes": {
"type": "number"
}
}
}
201
Headers
Content-Type: application/json
Body
{
"PropertyID": 11,
"PropertyName": "PropertyName",
"Abbreviation": "PN",
"Address": "Property Address",
"OwnerID": 33,
"RegionID": 21,
"DefaultCheckInTime": 16,
"DefaultCheckInTimeInMinutes": 30,
"DefaultCheckOutTime": 16,
"DefaultCheckOutTimeInMinutes": 30,
"CreateDate": "20210401100453"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"PropertyID": {
"type": "number"
},
"PropertyName": {
"type": "string"
},
"Abbreviation": {
"type": "string"
},
"Address": {
"type": "string"
},
"OwnerID": {
"type": "number"
},
"RegionID": {
"type": "number"
},
"DefaultCheckInTime": {
"type": "number"
},
"DefaultCheckInTimeInMinutes": {
"type": "number"
},
"DefaultCheckOutTime": {
"type": "number"
},
"DefaultCheckOutTimeInMinutes": {
"type": "number"
},
"CreateDate": {
"type": "string"
}
}
}
Update Property by IDPUT/api/v1/properties/{propertyID}
Note: Need Auth token in header for this api Note: Some or All Fields of property booking can be updated.
Example URI
- propertyID
number
(required) Example: 1236The unique identifier for the propertyID. .
Headers
Content-Type: application/json
Authorization: VRS <access_token>
Body
{
"Active": 1,
"PropertyAbbreviation": "LJ",
"PropertyNotes": "PropertyNotes",
"InternalNotes": "InternalNotes",
"Address": "Leavenworth",
"Lat": 123.4,
"Lon": 123.4,
"DoorCode": 1234,
"DefaultCheckInTime": 15,
"DefaultCheckInTimeMinutes": 0,
"DefaultCheckOutTime": 11,
"DefaultCheckOutTimeMinutes": 0,
"RegionID": 23
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"Active": {
"type": "number",
"description": "Property bookings is active or not"
},
"PropertyAbbreviation": {
"type": "string"
},
"PropertyNotes": {
"type": "string"
},
"InternalNotes": {
"type": "string"
},
"Address": {
"type": "string"
},
"Lat": {
"type": "number",
"description": "Clock In Latitude coordinate."
},
"Lon": {
"type": "number",
"description": "Clock In Longitude coordinate."
},
"DoorCode": {
"type": "number"
},
"DefaultCheckInTime": {
"type": "number"
},
"DefaultCheckInTimeMinutes": {
"type": "number"
},
"DefaultCheckOutTime": {
"type": "number"
},
"DefaultCheckOutTimeMinutes": {
"type": "number"
},
"RegionID": {
"type": "number"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"code": "200",
"message": "Data Updated Successfully"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
Property Statuses ¶
The Property Statuses object is the core resource to represent physical property statuses.
Note: All Arguments are Optional.
Get Property StatusesGET/api/v1/propertystatuses?propertystatusid={PropertyStatusID}&propertystatus={PropertyStatus}&sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- PropertyStatusID
number
(optional) Example: 256The unique identifier for the propertystatusid.
- PropertyStatus
string
(optional) Example: 256Provide Property Status
- Sort
string
(optional) Default: PropertyStatusID asc Example: PropertyStatusID ascExample 2: sort=PropertyStatusID asc, CreateDate asc
Available Sort Fields: PropertyStatus, CreateDate, PropertyStatusID.
Available Sort Order: asc or desc. (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/propertystatuses",
"has_more": true,
"data": {
"PropertyStatusID": 163,
"PropertyStatus": "Service",
"SetOnCheckIn": 0,
"SetOnCheckOut": 0,
"CreateDate": 20170616
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"PropertyStatusID": {
"type": "number"
},
"PropertyStatus": {
"type": "string"
},
"SetOnCheckIn": {
"type": "number"
},
"SetOnCheckOut": {
"type": "number"
},
"CreateDate": {
"type": "number"
}
}
}
}
}
Update Property Status by IDPATCH/api/v1/property/{PropertyID}
Note: Need Auth token in header for this api.
Example URI
- PropertyID
number
(required) Example: 256The unique identifier for the propertyid.
Headers
Content-Type: application/json
Authorization: VRS <access_token>
Body
{
"PropertyStatusID": 2
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"PropertyStatusID": {
"type": "number"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"code": "200",
"message": "Data Updated Successfully"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
Issues ¶
The Issue object represents physical issues. Each Issue object is assigned to one Issue.
Note: All Arguments are Optional.
Get IssuesGET/api/v1/issues?StatusID={StatusID}&IssueType={IssueType}&Billable={Billable}&CreateStartDate={CreateStartDate}&CreateEndDate={CreateEndDate}&ClosedStartDate={ClosedStartDate}&ClosedEndDate={ClosedEndDate}&Urgent={Urgent}&PropertyID={PropertyID}&Sort={Sort}&per_page={per_page}&page={page}&closed={closed}
Note: Need Auth token in header for this api
Example URI
- StatusID
string
(optional) Example: 20 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged.
- IssueType
string
(optional) Example: 40 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag,
-1
= None.- Billable
boolean
(optional) Example: 1Flag indicating if Issue should be billed to Owner
- CreateStartDate
string
(optional) Example: 20190101Returns results including and after specified created date.
- CreateEndDate
string
(optional) Example: 20190102Returns results including and before specified created date.
- ClosedStartDate
string
(optional) Example: 20190102Returns results including and after specified closed date.
- ClosedEndDate
string
(optional) Example: 20190102Returns results including and before specified closed date.
- Urgent
boolean
(optional) Example: 1Toggle if the issue is urgent or not.
- PropertyID
number
(optional) Example: 13unique identifier of the property
- closed
number
(optional) Example: 00 = ClosedDate IS NULL, 1 = ClosedDate IS NOT NULL.
- Sort
string
(optional) Default: IssueID ASC Example: CreateDate DESCExample 2: sort=IssueID, Urgent asc
Available Sort Fields: IssueID, StatusID, IssueType, Urgent, PropertyID, CreateDate.
Available Sort Order: asc or desc. (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/issues",
"has_more": true,
"data": {
"IssueID": 135,
"StatusID": "0",
"IssueType": "0",
"Urgent": true,
"Issue": "Screen door off tracks.",
"Notes": "Add Notes",
"StaffNotes": "Staff Notes",
"SubmittedByServicerID": 1920,
"SubmittedByOwnerID": 101,
"Images": [
{
"IssueImageID": 123,
"Image": "https://images.vrscheduler.com/70/IMG_5076.JPG",
"ShowOwner": 1
}
],
"Billable": false,
"PropertyID": 36,
"ClosedDate": 20170809,
"CreateDate": 20170804
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"IssueID": {
"type": "number"
},
"StatusID": {
"type": "string",
"enum": [
"0",
"1",
"2",
"3"
],
"description": "0 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged."
},
"IssueType": {
"type": "string",
"enum": [
"0",
"1",
"2",
"3",
"-1"
],
"description": "0 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag, `-1` = None."
},
"Urgent": {
"type": "boolean",
"description": "Toggle if the issue is urgent or not."
},
"Issue": {
"type": "string",
"description": "Issue title submitted with the issue"
},
"Notes": {
"type": "string"
},
"StaffNotes": {
"type": "string"
},
"SubmittedByServicerID": {
"type": "number"
},
"SubmittedByOwnerID": {
"type": "number"
},
"Images": {
"type": "array"
},
"Billable": {
"type": "boolean"
},
"PropertyID": {
"type": "number"
},
"ClosedDate": {
"type": "number"
},
"CreateDate": {
"type": "number"
}
}
}
}
}
Get Issue by IDGET/api/v1/issues/{IssueID}
Note: Need Auth token in header for this api
Example URI
- IssueID
number
(required) Example: 1236The unique identifier for the issueID.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/issues",
"has_more": true,
"data": {
"IssueID": 135,
"StatusID": "0",
"IssueType": "0",
"Urgent": true,
"Issue": "Screen door off tracks.",
"Notes": "Add Notes",
"StaffNotes": "Staff Notes",
"SubmittedByServicerID": 1920,
"SubmittedByOwnerID": 101,
"Images": [
{
"IssueImageID": 123,
"Image": "https://images.vrscheduler.com/70/IMG_5076.JPG",
"ShowOwner": 1
}
],
"Billable": false,
"PropertyID": 36,
"ClosedDate": 20170809,
"CreateDate": 20170804
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"IssueID": {
"type": "number"
},
"StatusID": {
"type": "string",
"enum": [
"0",
"1",
"2",
"3"
],
"description": "0 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged."
},
"IssueType": {
"type": "string",
"enum": [
"0",
"1",
"2",
"3",
"-1"
],
"description": "0 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag, `-1` = None."
},
"Urgent": {
"type": "boolean",
"description": "Toggle if the issue is urgent or not."
},
"Issue": {
"type": "string",
"description": "Issue title submitted with the issue"
},
"Notes": {
"type": "string"
},
"StaffNotes": {
"type": "string"
},
"SubmittedByServicerID": {
"type": "number"
},
"SubmittedByOwnerID": {
"type": "number"
},
"Images": {
"type": "array"
},
"Billable": {
"type": "boolean"
},
"PropertyID": {
"type": "number"
},
"ClosedDate": {
"type": "number"
},
"CreateDate": {
"type": "number"
}
}
}
}
}
Create IssuePOST/api/v1/issues
Note: The Request body is of type form-data instead of Raw. Please add ‘request’ key under Key column and the JSON data under Value column of form-data. Ensure that the key name of image should match the ‘ImageKey’ node in the JSON request.
Note: Need Auth token in header for this api.
Example URI
Headers
Content-Type: application/json
Body
{
"request": {
"statusID": "2",
"IssueType": "4",
"Issue": "Screen door off tracks.",
"notes": "Issue Notes",
"internalNotes": "Internal Notes",
"showOnOwnerDashboard": true,
"billable": true,
"propertyID": 136,
"closedDateTime": "20220101",
"SubmittedByServicerID": 123,
"SubmittedByOwnerID": 456,
"Images": [
{
"ImageKey": "Image",
"ShowOwner": 1
}
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"request": {
"type": "object",
"properties": {
"statusID": {
"type": "string",
"enum": [
"2"
],
"description": "0 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged."
},
"IssueType": {
"type": "string",
"enum": [
"4"
],
"description": "0 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag, `-1` = None."
},
"Issue": {
"type": "string"
},
"notes": {
"type": "string"
},
"internalNotes": {
"type": "string"
},
"showOnOwnerDashboard": {
"type": "boolean"
},
"billable": {
"type": "boolean",
"description": "Flag indicating if Issue should be billed to Owner"
},
"propertyID": {
"type": "number"
},
"closedDateTime": {
"type": "string"
},
"SubmittedByServicerID": {
"type": "number"
},
"SubmittedByOwnerID": {
"type": "number"
},
"Images": {
"type": "array"
}
}
}
}
}
201
Headers
Content-Type: application/json
Body
{
"code": "201",
"message": "Data Inserted Successfully",
"Data": {
"statusID": "2",
"IssueType": "4",
"Issue": "Screen door off tracks.",
"notes": "Issue Notes",
"internalNotes": "Internal Notes",
"showOnOwnerDashboard": true,
"billable": true,
"propertyID": 136,
"closedDateTime": "20220101",
"SubmittedByServicerID": 123,
"SubmittedByOwnerID": 456,
"Images": [
{
"ImageKey": "Image",
"ShowOwner": 1
}
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"Data": {
"type": "object",
"properties": {
"statusID": {
"type": "string",
"enum": [
"2"
],
"description": "0 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged."
},
"IssueType": {
"type": "string",
"enum": [
"4"
],
"description": "0 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag, `-1` = None."
},
"Issue": {
"type": "string"
},
"notes": {
"type": "string"
},
"internalNotes": {
"type": "string"
},
"showOnOwnerDashboard": {
"type": "boolean"
},
"billable": {
"type": "boolean",
"description": "Flag indicating if Issue should be billed to Owner"
},
"propertyID": {
"type": "number"
},
"closedDateTime": {
"type": "string"
},
"SubmittedByServicerID": {
"type": "number"
},
"SubmittedByOwnerID": {
"type": "number"
},
"Images": {
"type": "array"
}
}
}
}
}
Update IssuePUT/api/v1/issues
Note: The Request type will be POST instead of PUT
Note: The Request body is of type form-data instead of Raw. Please add ‘request’ key under Key column and the JSON data under Value column of form-data. Ensure that the key name of image should match the ‘ImageKey’ node in the JSON request.
Note: Need Auth token in header for this api.
Example URI
Headers
Content-Type: application/json
Body
{
"request": {
"IssueID": 62071,
"Update": true,
"statusID": "2",
"IssueType": "4",
"Issue": "Screen door off tracks.",
"notes": "Issue Notes",
"internalNotes": "Internal Notes",
"showOnOwnerDashboard": true,
"billable": true,
"propertyID": 136,
"closedDateTime": "20220101",
"Images": [
{
"ImageKey": "Image",
"ShowOwner": 1
}
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"request": {
"type": "object",
"properties": {
"IssueID": {
"type": "number"
},
"Update": {
"type": "boolean"
},
"statusID": {
"type": "string",
"enum": [
"2"
],
"description": "0 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged."
},
"IssueType": {
"type": "string",
"enum": [
"4"
],
"description": "0 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag, `-1` = None."
},
"Issue": {
"type": "string"
},
"notes": {
"type": "string"
},
"internalNotes": {
"type": "string"
},
"showOnOwnerDashboard": {
"type": "boolean"
},
"billable": {
"type": "boolean",
"description": "Flag indicating if Issue should be billed to Owner"
},
"propertyID": {
"type": "number"
},
"closedDateTime": {
"type": "string"
},
"Images": {
"type": "array"
}
}
}
}
}
201
Headers
Content-Type: application/json
Body
{
"code": "201",
"message": "Data Updated Successfully",
"Data": {
"IssueID": 62071,
"Update": true,
"statusID": "2",
"IssueType": "4",
"Issue": "Screen door off tracks.",
"notes": "Issue Notes",
"internalNotes": "Internal Notes",
"showOnOwnerDashboard": true,
"billable": true,
"propertyID": 136,
"closedDateTime": "20220101",
"Images": [
{
"ImageKey": "Image",
"ShowOwner": 1
}
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"Data": {
"type": "object",
"properties": {
"IssueID": {
"type": "number"
},
"Update": {
"type": "boolean"
},
"statusID": {
"type": "string",
"enum": [
"2"
],
"description": "0 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged."
},
"IssueType": {
"type": "string",
"enum": [
"4"
],
"description": "0 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag, `-1` = None."
},
"Issue": {
"type": "string"
},
"notes": {
"type": "string"
},
"internalNotes": {
"type": "string"
},
"showOnOwnerDashboard": {
"type": "boolean"
},
"billable": {
"type": "boolean",
"description": "Flag indicating if Issue should be billed to Owner"
},
"propertyID": {
"type": "number"
},
"closedDateTime": {
"type": "string"
},
"Images": {
"type": "array"
}
}
}
}
}
TaskRules ¶
The TaskRule object is the core resource to represent owners of the task rules managed. Each owner can be associated with one or more task rules.
Note: All Arguments are Optional.
Get TaskRulesGET/api/v1/taskrules?Active={Active}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- Active
boolean
(optional) Default: true Example: trueActive: true
Inactive: false- Sort
string
(optional) Default: TaskRuleID asc Example: TaskRuleExample 2: CreateDate desc, TaskRule asc
Available Sort Fields: TaskRuleID,TaskRule, Abbreviation, CreateDate.
Available Sort Order: asc or desc. (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/taskrules",
"has_more": true,
"data": {
"TaskRuleID": 132,
"Active": true,
"TaskRule": "Bay View Bungalow",
"Abbreviation": "BVB",
"CreateDate": 20190302
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"TaskRuleID": {
"type": "number",
"description": "Unique identifier for the task rule."
},
"Active": {
"type": "boolean",
"description": "Whether the taskrule is in service."
},
"TaskRule": {
"type": "string",
"description": "The name of the task rule."
},
"Abbreviation": {
"type": "string",
"description": "A 10 character abbreviation for the rule used for scheduling."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
}
}
}
}
}
Get TaskRule by IDGET/api/v1/taskrules/{TaskRuleID}
Note: Need Auth token in header for this api
Example URI
- TaskRuleID
number
(required) Example: 132Unique identifier for the task rule.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/taskrules",
"has_more": true,
"data": {
"TaskRuleID": 132,
"Active": true,
"TaskRule": "Bay View Bungalow",
"Abbreviation": "BVB",
"CreateDate": 20190302
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"TaskRuleID": {
"type": "number",
"description": "Unique identifier for the task rule."
},
"Active": {
"type": "boolean",
"description": "Whether the taskrule is in service."
},
"TaskRule": {
"type": "string",
"description": "The name of the task rule."
},
"Abbreviation": {
"type": "string",
"description": "A 10 character abbreviation for the rule used for scheduling."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
}
}
}
}
}
Create TaskRulePOST/v1/propertyTaskRules
Note: Need Auth token in header for this api.
Example URI
Headers
Content-Type: application/json
Body
{
"PropertyID": 123,
"TaskRuleID": "12345",
"LaborAmount": 100,
"MaterialsAmount": 100,
"MinTimeToComplete": 20,
"MaxTimeToComplete": 30,
"LeadStaffID": 142,
"LeadStaffPiecePay": 100,
"AdditionalStaff": [
{
"StaffID": "136",
"StaffPiecePay": "20"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"PropertyID": {
"type": "number"
},
"TaskRuleID": {
"type": "string"
},
"LaborAmount": {
"type": "number"
},
"MaterialsAmount": {
"type": "number"
},
"MinTimeToComplete": {
"type": "number"
},
"MaxTimeToComplete": {
"type": "number"
},
"LeadStaffID": {
"type": "number"
},
"LeadStaffPiecePay": {
"type": "number"
},
"AdditionalStaff": {
"type": "array"
}
}
}
201
Headers
Content-Type: application/json
Body
{
"code": "201",
"message": "Data Inserted Successfully",
"PropertyToTaskRuleID": "431710"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"PropertyToTaskRuleID": {
"type": "string"
}
}
}
Get Property TaskRulesGET/api/v1/propertyTaskRules?PropertyToTaskRuleID={PropertyToTaskRuleID}&PropertyID={PropertyID}&TaskRuleID={TaskRuleID}&LaborAmount={LaborAmount}&MaterialsAmount={MaterialsAmount}&MinTimeToComplete={MinTimeToComplete}&MaxTimeToComplete={MaxTimeToComplete}&LeadStaffID={LeadStaffID}&LeadStaffPiecePay={LeadStaffPiecePay}&LeadStaffName={LeadStaffName}&StaffID={StaffID}&StaffPiecePay={StaffPiecePay}&StaffName={StaffName}&PropertyActive={PropertyActive}&TaskRuleActive={TaskRuleActive}&page={page}&sort={Sort}&per_page={per_page}
Note: Need Auth token in header for this api.
Example URI
- PropertyToTaskRuleID
number
(optional) Example: 123- PropertyID
number
(optional) Example: 132- TaskRuleID
number
(optional) Example: 132Unique identifier for the task rule.
- LaborAmount
number
(optional) Example: 50Amount to bill for labor for this task.
- MaterialsAmount
number
(optional) Example: 45Amount to bill for materials for this task.
- MinTimeToComplete
number
(optional) Example: 20Minimum Time to complete task
- MaxTimeToComplete
number
(optional) Example: 30Minimum Time to complete task
- LeadStaffID
number
(optional) Example: 142Lead Staff ID
- LeadStaffPiecePay
number
(optional) Example: 100- LeadStaffName
string
(optional) Example: John- StaffID
number
(optional) Example: 132Staff ID
- StaffPiecePay
number
(optional) Example: 100- StaffName
string
(optional) Example: James- PropertyActive
boolean
(optional) Example: true- TaskRuleActive
boolean
(optional) Example: true- Sort
string
(optional) Default: TaskRuleID asc Example: PropertyToTaskRuleIDExample 2: PropertyToTaskRuleID asc, PropertyID asc
Available Sort Fields: PropertyToTaskRuleID,PropertyID, TaskRuleID, LaborAmount, LeadStaffName.
Available Sort Order: asc or desc. (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/propertyTaskRules",
"has_more": true,
"data": {
"PropertyToTaskRuleID": 123,
"PropertyID": 132,
"TaskRuleID": 132,
"LaborAmount": 50,
"MaterialsAmount": 45,
"MinTimeToComplete": 20,
"MaxTimeToComplete": 30,
"LeadStaffID": 142,
"LeadStaffPiecePay": 100,
"LeadStaffName": "John",
"StaffID": 132,
"StaffPiecePay": 100,
"StaffName": "James",
"PropertyActive": true,
"TaskRuleActive": true,
"AdditionalStaffResponse": [
{
"StaffID": 1921,
"StaffPiecePay": 152,
"StaffName": "Zoe Smith"
}
]
},
"page_count": "0",
"page_size": "25",
"page": "1",
"total_items": "0"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"PropertyToTaskRuleID": {
"type": "number"
},
"PropertyID": {
"type": "number"
},
"TaskRuleID": {
"type": "number",
"description": "Unique identifier for the task rule."
},
"LaborAmount": {
"type": "number",
"description": "Amount to bill for labor for this task."
},
"MaterialsAmount": {
"type": "number",
"description": "Amount to bill for materials for this task."
},
"MinTimeToComplete": {
"type": "number",
"description": "Minimum Time to complete task"
},
"MaxTimeToComplete": {
"type": "number",
"description": "Minimum Time to complete task"
},
"LeadStaffID": {
"type": "number",
"description": "Lead Staff ID"
},
"LeadStaffPiecePay": {
"type": "number"
},
"LeadStaffName": {
"type": "string"
},
"StaffID": {
"type": "number",
"description": "Staff ID"
},
"StaffPiecePay": {
"type": "number"
},
"StaffName": {
"type": "string"
},
"PropertyActive": {
"type": "boolean"
},
"TaskRuleActive": {
"type": "boolean"
},
"AdditionalStaffResponse": {
"type": "array"
}
}
},
"page_count": {
"type": "string"
},
"page_size": {
"type": "string"
},
"page": {
"type": "string"
},
"total_items": {
"type": "string"
}
}
}
Delete Property Taskrule by IDDELETE/api/v1/propertyTaskRules/{propertyTaskRuleID}
Note: Need Auth token in header for this api
Example URI
- propertyTaskRuleID
number
(required) Example: 1236The unique identifier for the propertyTaskRuleID.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"code": "204",
"message": "Data is succesfully deleted"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
Owners ¶
The Owner object is the core resource to represent owners of the properties managed. Each owner can be associated with one or more properties.
Note: All Arguments are Optional.
Get OwnersGET/api/v1/owners?Active={Active}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- Active
boolean
(optional) Default: true Example: trueWhether the owner is active
- Sort
string
(optional) Default: OwnerID asc Example: OwnerIDExample 2: OwnerID asc, CreateDate desc
Available Sort Fields: OwnerID, OwnerName, CountryID, CreateDate.
Available Sort Order: asc or desc. (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/owners",
"has_more": true,
"data": {
"OwnerID": 132,
"Active": true,
"OwnerName": "Bay View Bungalow",
"OwnerEmail": "owner@vrscheduler.com",
"OwnerPhone": "+1 541-999-9999",
"CountryID 224": 1,
"CreateDate": 20190302
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"OwnerID": {
"type": "number",
"description": "Unique identifier for the owner."
},
"Active": {
"type": "boolean",
"description": "Whether the owner is in service."
},
"OwnerName": {
"type": "string",
"description": "The full name of the owner."
},
"OwnerEmail": {
"type": "string",
"description": "A single email address for the owner."
},
"OwnerPhone": {
"type": "string",
"description": "A phone number which can be used for text messaging. May use the country code."
},
"CountryID 224": {
"type": "number",
"description": "Lookup for outside US & Canada country codes. See country enum."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
}
}
}
}
}
Post Owner DetailsPOST/api/v1/owners
Note: Need Auth token in header for this api.
Example URI
Headers
Content-Type: application/json
Authorization: VRS <access_token>
Body
{
"OwnerName": "OwnerName",
"OwnerEmail": "owner@email.com"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"OwnerName": {
"type": "string"
},
"OwnerEmail": {
"type": "string"
}
}
}
201
Headers
Content-Type: application/json
Body
{
"OwnerID": 15519,
"OwnerName": "OwnerName",
"OwnerEmail": "owner@email.com",
"CreateDate": "20210401100453"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"OwnerID": {
"type": "number"
},
"OwnerName": {
"type": "string"
},
"OwnerEmail": {
"type": "string"
},
"CreateDate": {
"type": "string"
}
}
}
Regions ¶
The Region object represents physical regions. Each Property object is assigned to one Region.
Note: All Arguments are Optional.
Get RegionsGET/api/v1/regions?Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- Sort
string
(optional) Default: RegionID asc Example: RegionIDExample 2: sort=RegionID asc, CreateDate desc
Available Sort Fields: RegionID, RegionGroupID, Region, Color, TimeZoneID, CreateDate
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/regions",
"has_more": true,
"data": {
"RegionID": 132,
"Region": "NorthSide",
"Color": "#ffcccc",
"TimeZoneID 3492": "Hello, world!",
"CreateDate": 20190302
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"RegionID": {
"type": "number",
"description": "Unique identifier for the region."
},
"Region": {
"type": "string",
"description": "The full name of the region."
},
"Color": {
"type": "string",
"description": "Hex Color used by the region during scheduling. Starts with #."
},
"TimeZoneID 3492": {
"type": "string",
"description": "Lookup for outside US & Canada country codes. See country enum."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
}
}
}
}
}
REGIONGROUPS ¶
The RegionGroup object represents physical regions. Each Property object is assigned to one Region.
Note: All Arguments are Optional.
Get Region GroupsGET/api/v1/regiongroups?Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- Sort
string
(optional) Default: RegionGroupID asc Example: RegionGroupIDExample 2: sort=RegionGroupID asc, CreateDate desc
Available Sort Fields: RegionGroupID, RegionGroup, CreateDate
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/regiongroups",
"has_more": true,
"data": {
"RegionGroupID": 67,
"RegionGroup": "USA",
"CreateDate": "20190905"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"RegionGroupID": {
"type": "number",
"description": "Unique identifier for the object"
},
"RegionGroup": {
"type": "string",
"description": "The full name of the regiongroup."
},
"CreateDate": {
"type": "string"
}
}
}
}
}
StaffTaskTimes ¶
The StaffTask object represents items requiring staff members to get paid. Each StaffTaskTime object is assigned to one StaffTask.
Note: All Arguments are Optional.
Get StaffTaskTimesGET/api/v1/stafftasktimes?StaffID={StaffID}&TaskID={TaskID}&PropertyID={PropertyID}&StartDate={StartDate}&EndDate={EndDate}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- StaffID
string
(required) Example: 12- TaskID
string
(required) Example: 144- PropertyID
string
(required) Example: 91860- StartDate
string
(required) Example: 20190101- EndDate
string
(required) Example: 20190202- Sort
string
(optional) Default: StaffTaskTimeID asc Example: StaffTaskTimeIDExample 2: sort=StaffTaskTimeID asc, StaffID asc
Available Sort Fields: StaffTaskTimeID, StaffID, TaskID, ClockIn, ClockOut
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/regiongroups",
"has_more": true,
"data": {
"StaffTaskTimeID": 24,
"StaffID": 134,
"TaskID": 81530,
"ClockIn": "20170625030227",
"ClockOut": "20170625030231",
"InLat": 123.4,
"InLon": 123.4,
"OutLat": 111.23,
"OutLon": 11234.45,
"Note": "Test",
"AutoLogOutFlag": false
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"StaffTaskTimeID": {
"type": "number",
"description": "Unique identifier for the object."
},
"StaffID": {
"type": "number",
"description": "Associated Staff Object"
},
"TaskID": {
"type": "number",
"description": "Associated Task Object"
},
"ClockIn": {
"type": "string",
"description": "Date and time of clocking into a task."
},
"ClockOut": {
"type": "string",
"description": "Date and time of clocking out a task."
},
"InLat": {
"type": "number",
"description": "Clock In Latitude coordinate."
},
"InLon": {
"type": "number",
"description": "Clock In Latitude coordinate."
},
"OutLat": {
"type": "number",
"description": "Clock In Latitude coordinate."
},
"OutLon": {
"type": "number",
"description": "Clock In Latitude coordinate."
},
"Note": {
"type": "string",
"description": "Administrator note about the record"
},
"AutoLogOutFlag": {
"type": "boolean",
"description": "If the staff member forgot to log out and the system auto logged them out."
}
}
}
}
}
STAFFDAYTIMES ¶
The StaffDayTimes object represents items requiring staff members to get paid. Each StaffDayTime object is assigned to one StaffTask.
Note: All Arguments are Optional.
Get StaffDayTimesGET/api/v1/staffdaytimes?StaffID={StaffID}&StartDate={StartDate}&EndDate={EndDate}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- StaffID
number
(optional) Example: 12- StartDate
string
(optional) Example: 20190101- EndDate
string
(optional) Example: 20190202- Sort
string
(optional) Default: StaffDayTimeID asc Example: StaffDayTimeIDExample 2: sort=StaffID, StaffDayTimeID asc
Available Sort Fields: StaffDayTimeID, StaffID, ClockIn, ClockOut
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/staffdaytimes",
"has_more": true,
"data": {
"StaffDayTimeID": 24,
"StaffID": 134,
"ClockIn": "20170625030227",
"ClockOut": "20170625030231",
"InLat": "123.4",
"InLon": "123.4",
"OutLat": "111.23",
"OutLon": "11234.45",
"MileageIn": 45345345,
"MileageOut": 45345345,
"AutoLogOutFlag": false
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"StaffDayTimeID": {
"type": "number",
"description": "Unique identifier for the object."
},
"StaffID": {
"type": "number",
"description": "Associated Staff Object"
},
"ClockIn": {
"type": "string",
"description": "Date and time of clocking into a task."
},
"ClockOut": {
"type": "string",
"description": "Date and time of clocking out a task."
},
"InLat": {
"type": "string",
"description": "Clock In Latitude coordinate."
},
"InLon": {
"type": "string",
"description": "Clock In Latitude coordinate."
},
"OutLat": {
"type": "string",
"description": "Clock In Latitude coordinate."
},
"OutLon": {
"type": "string",
"description": "Clock In Latitude coordinate."
},
"MileageIn": {
"type": "number",
"description": "Mileage reported on clock in."
},
"MileageOut": {
"type": "number",
"description": "Mileage reported on clock out."
},
"AutoLogOutFlag": {
"type": "boolean",
"description": "If the staff member forgot to log out and the system auto logged them out."
}
}
}
}
}
PropertyBookings ¶
The PropertyBooking object represents physical propertybookings. Each Property object is assigned to one PropertyBooking.
Note: All Arguments are Optional.
Get PropertyBookingsGET/api/v1/propertybookings?PropertyID={PropertyID}&Active=&CheckInStartDate={CheckInStartDate}&CheckInEndDate={CheckInEndDate}&CheckOutStartDate={CheckOutStartDate}&CheckOutEndDate={CheckOutEndDate}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- CheckInStartDate
string
(optional) Example: 20190101Returns results including and after specified created date.
- CheckInEndDate
string
(optional) Example: 20190102Returns results including and before specified created date.
- CheckOutStartDate
string
(optional) Example: 20190102Returns results including and after specified closed date.
- CheckOutEndDate
string
(optional) Example: 20190102Returns results including and before specified closed date.
- PropertyID
number
(optional) Example: 13unique identifier of the property
- Sort
string
(optional) Default: PropertyBookingID asc Example: PropertyBookingIDExample 2: sort=CheckIn asc,CreateDate desc
Available Sort Fields: PropertyBookingID, CheckIn, CheckOut, CreateDate
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/propertybookings",
"has_more": true,
"data": {
"PropertyBookingID": 4452,
"PropertyID": "167",
"CheckIn": 20170730,
"CheckInTime": 15,
"CheckInTimeMinutes": 0,
"CheckOut": 20170805,
"CheckOutTime": 11,
"CheckOutTimeMinutes": 0,
"Guest": "guest",
"GuestPhone": "12345",
"GuestEmail": "guest@email.com",
"NumberOfGuest": 0,
"NumberOfPets": 0,
"NumberOfChildren": 0,
"IsOwner": "0",
"BookingTags": "BeachChairs, MidClean",
"ManualBookingTags": "PoolHeat, AllBedsAsKing",
"ImportBookingID": 123,
"PMSNote": "PMSNote",
"PMSHousekeepingNote": "PMSHousekeepingNote",
"BookingNote": "BookingNote",
"InternalNote": "InternalNote",
"CreateDate": 20170509,
"Active": 1,
"LinenCounts": "1,3,4,5"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"PropertyBookingID": {
"type": "number",
"description": "Unique identifier for the property booking."
},
"PropertyID": {
"type": "string",
"description": "Associated Property Object."
},
"CheckIn": {
"type": "number",
"description": "Date of checkin."
},
"CheckInTime": {
"type": "number",
"description": "Hour of check in by 24 hour clock."
},
"CheckInTimeMinutes": {
"type": "number",
"description": "Minute value of check in, for example if check in is at 10:30, this value would be 30."
},
"CheckOut": {
"type": "number",
"description": "Date of check out."
},
"CheckOutTime": {
"type": "number",
"description": "Hour of check out by 24 hour clock."
},
"CheckOutTimeMinutes": {
"type": "number",
"description": "Minute value of check out, for example if check in is at 10:30, this value would be 30."
},
"Guest": {
"type": "string"
},
"GuestPhone": {
"type": "string"
},
"GuestEmail": {
"type": "string"
},
"NumberOfGuest": {
"type": "number",
"description": "Number of people staying for this booking."
},
"NumberOfPets": {
"type": "number",
"description": "Number of Pets staying for this booking."
},
"NumberOfChildren": {
"type": "number",
"description": "Number of children staying for this booking."
},
"IsOwner": {
"type": "string",
"enum": [
"0",
"1",
"2"
],
"description": "0 = Not an owner, 1 = Is an owner, 2 = Is an owner guest"
},
"BookingTags": {
"type": "string",
"description": "Tags used for generating tasks on the calendar. Used in conjunction with the Task Rules."
},
"ManualBookingTags": {
"type": "string",
"description": "Tags used for generating tasks on the calendar. Used in conjunction with the Task Rules. This field is not editable by integrations."
},
"ImportBookingID": {
"type": "number"
},
"PMSNote": {
"type": "string"
},
"PMSHousekeepingNote": {
"type": "string"
},
"BookingNote": {
"type": "string"
},
"InternalNote": {
"type": "string"
},
"CreateDate": {
"type": "number",
"description": "Created Date of the Property Bookings"
},
"Active": {
"type": "number",
"description": "Property bookings is active or not"
},
"LinenCounts": {
"type": "string",
"description": "Properties each Linen Count"
}
}
}
}
}
Get PropertyBooking by IDGET/api/v1/propertybookings/{propertyBookingID}
Note: Need Auth token in header for this api
Example URI
- propertyBookingID
number
(required) Example: 1236The unique identifier for the propertyBookingID.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/propertybookings",
"has_more": true,
"data": {
"PropertyBookingID": 4452,
"PropertyID": "167",
"CheckIn": 20170730,
"CheckInTime": 15,
"CheckInTimeMinutes": 0,
"CheckOut": 20170805,
"CheckOutTime": 11,
"CheckOutTimeMinutes": 0,
"Guest": "guest",
"GuestPhone": "12345",
"GuestEmail": "guest@email.com",
"NumberOfGuest": 0,
"NumberOfPets": 0,
"NumberOfChildren": 0,
"IsOwner": "0",
"BookingTags": "BeachChairs, MidClean",
"ManualBookingTags": "PoolHeat, AllBedsAsKing",
"ImportBookingID": 123,
"PMSNote": "PMSNote",
"PMSHousekeepingNote": "PMSHousekeepingNote",
"BookingNote": "BookingNote",
"InternalNote": "InternalNote",
"CreateDate": 20170509,
"Active": 1,
"LinenCounts": "1,3,4,5"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"PropertyBookingID": {
"type": "number",
"description": "Unique identifier for the property booking."
},
"PropertyID": {
"type": "string",
"description": "Associated Property Object."
},
"CheckIn": {
"type": "number",
"description": "Date of checkin."
},
"CheckInTime": {
"type": "number",
"description": "Hour of check in by 24 hour clock."
},
"CheckInTimeMinutes": {
"type": "number",
"description": "Minute value of check in, for example if check in is at 10:30, this value would be 30."
},
"CheckOut": {
"type": "number",
"description": "Date of check out."
},
"CheckOutTime": {
"type": "number",
"description": "Hour of check out by 24 hour clock."
},
"CheckOutTimeMinutes": {
"type": "number",
"description": "Minute value of check out, for example if check in is at 10:30, this value would be 30."
},
"Guest": {
"type": "string"
},
"GuestPhone": {
"type": "string"
},
"GuestEmail": {
"type": "string"
},
"NumberOfGuest": {
"type": "number",
"description": "Number of people staying for this booking."
},
"NumberOfPets": {
"type": "number",
"description": "Number of Pets staying for this booking."
},
"NumberOfChildren": {
"type": "number",
"description": "Number of children staying for this booking."
},
"IsOwner": {
"type": "string",
"enum": [
"0",
"1",
"2"
],
"description": "0 = Not an owner, 1 = Is an owner, 2 = Is an owner guest"
},
"BookingTags": {
"type": "string",
"description": "Tags used for generating tasks on the calendar. Used in conjunction with the Task Rules."
},
"ManualBookingTags": {
"type": "string",
"description": "Tags used for generating tasks on the calendar. Used in conjunction with the Task Rules. This field is not editable by integrations."
},
"ImportBookingID": {
"type": "number"
},
"PMSNote": {
"type": "string"
},
"PMSHousekeepingNote": {
"type": "string"
},
"BookingNote": {
"type": "string"
},
"InternalNote": {
"type": "string"
},
"CreateDate": {
"type": "number",
"description": "Created Date of the Property Bookings"
},
"Active": {
"type": "number",
"description": "Property bookings is active or not"
},
"LinenCounts": {
"type": "string",
"description": "Properties each Linen Count"
}
}
}
}
}
Create PropertyBookingPOST/api/v1/propertybookings
Note: Need Auth token in header for this api .
Example URI
Headers
Content-Type: application/json
Authorization: VRS <access_token>
Body
{
"PropertyID": 167,
"CheckIn": 20170730,
"CheckInTime": 15,
"CheckInTimeMinutes": 0,
"CheckOut": 20170805,
"CheckOutTime": 11,
"CheckOutTimeMinutes": 0,
"Guest": "guest",
"GuestPhone": "12345",
"GuestEmail": "guest@email.com",
"NumberOfGuest": 0,
"NumberOfPets": 0,
"NumberOfChildren": 0,
"IsOwner": "0",
"BookingTags": "BeachChairs, MidClean",
"Active": 1,
"ImportBookingID": "imp",
"BookingNote": "bn",
"InternalNote": "IN",
"PMSNote": "pms",
"PMSHousekeepingNote": "pmsh",
"LinenCounts": "1,3,4,5"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"PropertyID": {
"type": "number",
"description": "Associated Property Object."
},
"CheckIn": {
"type": "number",
"description": "Date of checkin."
},
"CheckInTime": {
"type": "number",
"description": "Hour of check in by 24 hour clock."
},
"CheckInTimeMinutes": {
"type": "number",
"description": "Minute value of check in, for example if check in is at 10:30, this value would be 30."
},
"CheckOut": {
"type": "number",
"description": "Date of check out."
},
"CheckOutTime": {
"type": "number",
"description": "Hour of check out by 24 hour clock."
},
"CheckOutTimeMinutes": {
"type": "number",
"description": "Minute value of check out, for example if check in is at 10:30, this value would be 30."
},
"Guest": {
"type": "string"
},
"GuestPhone": {
"type": "string"
},
"GuestEmail": {
"type": "string"
},
"NumberOfGuest": {
"type": "number",
"description": "Number of people staying for this booking."
},
"NumberOfPets": {
"type": "number",
"description": "Number of Pets staying for this booking."
},
"NumberOfChildren": {
"type": "number",
"description": "Number of children staying for this booking."
},
"IsOwner": {
"type": "string",
"enum": [
"0",
"1",
"2"
],
"description": "0 = Not an owner, 1 = Is an owner, 2 = Is an owner guest"
},
"BookingTags": {
"type": "string",
"description": "Tags used for generating tasks on the calendar. Used in conjunction with the Task Rules."
},
"Active": {
"type": "number",
"description": "Property bookings is active or not"
},
"ImportBookingID": {
"type": "string",
"description": "Provide the ImportBookingID"
},
"BookingNote": {
"type": "string",
"description": "This is the Global note"
},
"InternalNote": {
"type": "string",
"description": "Provide Internal Booking Note"
},
"PMSNote": {
"type": "string",
"description": "PMS Note"
},
"PMSHousekeepingNote": {
"type": "string",
"description": "(string) - PMSHousekeepingNote"
},
"LinenCounts": {
"type": "string",
"description": "Properties each Linen Count"
}
},
"required": [
"PropertyID",
"CheckIn",
"CheckInTime"
]
}
200
Headers
Content-Type: application/json
Body
{
"propertybookings": [
{
"PropertyID": 167,
"CheckIn": 20170730,
"CheckInTime": 15,
"CheckInTimeMinutes": 0,
"CheckOut": 20170805,
"CheckOutTime": 11,
"CheckOutTimeMinutes": 0,
"Guest": "guest",
"GuestPhone": "12345",
"GuestEmail": "guest@email.com",
"NumberOfGuest": 0,
"NumberOfPets": 0,
"NumberOfChildren": 0,
"IsOwner": "0",
"BookingTags": "BeachChairs, MidClean",
"Active": 1,
"ImportBookingID": "imp",
"BookingNote": "bn",
"InternalNote": "IN",
"PMSNote": "pms",
"PMSHousekeepingNote": "pmsh",
"LinenCounts": "1,3,4,5"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"propertybookings": {
"type": "array"
}
}
}
Update PropertyBookingPUT/api/v1/propertybookings/{propertyBookingID}
Note: Need Auth token in header for this api Note: Some or All Fields of property booking can be updated.
Example URI
- propertyBookingID
number
(required) Example: 1236The unique identifier for the propertyBookingID. .
Headers
Content-Type: application/json
Authorization: VRS <access_token>
Body
{
"propertybookings": [
{
"PropertyID": 167,
"CheckIn": 20170730,
"CheckInTime": 15,
"CheckInTimeMinutes": 0,
"CheckOut": 20170805,
"CheckOutTime": 11,
"CheckOutTimeMinutes": 0,
"Guest": "guest",
"GuestPhone": "12345",
"GuestEmail": "guest@email.com",
"NumberOfGuest": 0,
"NumberOfPets": 0,
"NumberOfChildren": 0,
"IsOwner": "0",
"BookingTags": "BeachChairs, MidClean",
"Active": 1,
"ImportBookingID": "imp",
"BookingNote": "bn",
"InternalNote": "IN",
"PMSNote": "pms",
"PMSHousekeepingNote": "pmsh",
"LinenCounts": "1,3,4,5"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"propertybookings": {
"type": "array"
}
}
}
200
Headers
Content-Type: application/json
Body
{
"propertybookings": [
{
"PropertyID": 167,
"CheckIn": 20170730,
"CheckInTime": 15,
"CheckInTimeMinutes": 0,
"CheckOut": 20170805,
"CheckOutTime": 11,
"CheckOutTimeMinutes": 0,
"Guest": "guest",
"GuestPhone": "12345",
"GuestEmail": "guest@email.com",
"NumberOfGuest": 0,
"NumberOfPets": 0,
"NumberOfChildren": 0,
"IsOwner": "0",
"BookingTags": "BeachChairs, MidClean",
"Active": 1,
"ImportBookingID": "imp",
"BookingNote": "bn",
"InternalNote": "IN",
"PMSNote": "pms",
"PMSHousekeepingNote": "pmsh",
"LinenCounts": "1,3,4,5"
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"propertybookings": {
"type": "array"
}
}
}
Delete PropertyBooking by IDDELETE/api/v1/propertybookings/{propertyBookingID}
Note: Need Auth token in header for this api
Example URI
- propertyBookingID
number
(required) Example: 1236The unique identifier for the propertyBookingID.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"ReasonCode": 0,
"ReasonText": "Data is succesfully deleted"
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"ReasonCode": {
"type": "number"
},
"ReasonText": {
"type": "string"
}
}
}
Staff ¶
The Staff object represents staff members.
Note: All Arguments are Optional.
Get StaffGET/api/v1/staff?Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- Sort
string
(optional) Default: StaffID asc Example: NameExample 2: sort=Name asc, CreateDate desc
Available Sort Fields: StaffID, Name, CreateDate
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/staff",
"has_more": true,
"data": {
"StaffID": 132,
"Name": "Carol Worker",
"Abbreviation": "carol",
"Email": "carol@vrscheduler.com",
"Phone": "+1 541-999-9999",
"CountryID": "United States",
"Active": true,
"CreateDate": 20190302
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"StaffID": {
"type": "number",
"description": "Unique identifier for the staff."
},
"Name": {
"type": "string",
"description": "Full name of staff member."
},
"Abbreviation": {
"type": "string",
"description": "10 character abbreviation of the staff member used in scheduling."
},
"Email": {
"type": "string",
"description": "Email address of staff member."
},
"Phone": {
"type": "string",
"description": "Phone number of staff member."
},
"CountryID": {
"type": "string",
"description": "Country ID for phone number if outside US. See list of CountryIDs."
},
"Active": {
"type": "boolean",
"description": "Whether the staff member is active."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
}
}
}
}
}
Get Staff by IDGET/api/v1/staff/{StaffID}
Note: Need Auth token in header for this api
Example URI
- StaffID
number
(required) Example: 132Unique identifier for the staff.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/staff",
"has_more": true,
"data": {
"StaffID": 132,
"Name": "Carol Worker",
"Abbreviation": "carol",
"Email": "carol@vrscheduler.com",
"Phone": "+1 541-999-9999",
"CountryID": "United States",
"Active": true,
"CreateDate": 20190302
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"StaffID": {
"type": "number",
"description": "Unique identifier for the staff."
},
"Name": {
"type": "string",
"description": "Full name of staff member."
},
"Abbreviation": {
"type": "string",
"description": "10 character abbreviation of the staff member used in scheduling."
},
"Email": {
"type": "string",
"description": "Email address of staff member."
},
"Phone": {
"type": "string",
"description": "Phone number of staff member."
},
"CountryID": {
"type": "string",
"description": "Country ID for phone number if outside US. See list of CountryIDs."
},
"Active": {
"type": "boolean",
"description": "Whether the staff member is active."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
}
}
}
}
}
StaffTasks ¶
The StaffTask object represents staff assigned to each task along with payroll information.
Get StaffTasksGET/api/v1/stafftasks?StaffID={StaffID}&TaskRuleID={TaskRuleID}&TaskID={TaskID}&PayType={PayType}&Approved={Approved}&PropertyID={PropertyID}&ApprovedStartDate={ApprovedStartDate}&ApprovedEndDate={ApprovedEndDate}&Completed={Completed}&CompletedStartDate={CompletedStartDate}&CompletedEndDate={CompletedEndDate}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- StaffID
string
(optional) Example: 123- TaskRuleID
string
(optional) Example: 12345- TaskID
string
(optional) Example: 123- PayType
number
(optional) Example: 1- Approved
number
(optional) Example: 1-
0 No Status
-
1 Approved
-
2 Paid
-
3 Flagged
-
- PropertyID
number
(optional) Example: 123- ApprovedStartDate
string
(optional) Example: 20190101- ApprovedEndDate
string
(optional) Example: 20190102- Completed
boolean
(optional) Example: 1- CompletedStartDate
string
(optional) Example: 20211207- CompletedEndDate
string
(optional) Example: 20211207- Sort
string
(optional) Default: StaffTaskID Example: StaffNameExample 2: sort=StaffName asc, CompleteConfirmedDate asc
Available Sort Fields: StaffID, StaffTaskID, StaffName, TaskID, CompleteConfirmedDate
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/stafftasks",
"has_more": true,
"data": {
"StaffTaskID": 72157,
"TaskID": 81530,
"TaskName": "Check Out Clean Task Test",
"TaskRuleID": 57,
"StaffID": 134,
"StaffName": "Ann Mason",
"PayType": 3,
"PayRate": 0,
"PiecePay": 1.23,
"TimeTracked": "00:04",
"Completed": true,
"CompleteConfirmedDate": "20170624",
"Pay": 0,
"Approved": 0,
"ApprovedDate": "20190101",
"CompletedStartDate": "20211207",
"CompletedEndDate": "20211207",
"PropertyID": "165"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"StaffTaskID": {
"type": "number"
},
"TaskID": {
"type": "number"
},
"TaskName": {
"type": "string"
},
"TaskRuleID": {
"type": "number"
},
"StaffID": {
"type": "number"
},
"StaffName": {
"type": "string"
},
"PayType": {
"type": "number"
},
"PayRate": {
"type": "number"
},
"PiecePay": {
"type": "number"
},
"TimeTracked": {
"type": "string"
},
"Completed": {
"type": "boolean"
},
"CompleteConfirmedDate": {
"type": "string"
},
"Pay": {
"type": "number"
},
"Approved": {
"type": "number"
},
"ApprovedDate": {
"type": "string"
},
"CompletedStartDate": {
"type": "string"
},
"CompletedEndDate": {
"type": "string"
},
"PropertyID": {
"type": "string"
}
}
}
}
}
Get StaffTask by IDGET/api/v1/stafftasks/{StaffTaskID}
Note: Need Auth token in header for this api
Example URI
- StaffTaskID
number
(required) Example: 1236The unique identifier for the StaffTaskID.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/stafftasks",
"has_more": true,
"data": {
"StaffTaskID": 72157,
"TaskID": 81530,
"TaskName": "Check Out Clean Task Test",
"TaskRuleID": 57,
"StaffID": 134,
"StaffName": "Ann Mason",
"PayType": 3,
"PayRate": 0,
"PiecePay": 1.23,
"TimeTracked": "00:04",
"Completed": true,
"CompleteConfirmedDate": "20170624",
"Pay": 0,
"Approved": 0,
"ApprovedDate": "20190101",
"CompletedStartDate": "20211207",
"CompletedEndDate": "20211207",
"PropertyID": "165"
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"StaffTaskID": {
"type": "number"
},
"TaskID": {
"type": "number"
},
"TaskName": {
"type": "string"
},
"TaskRuleID": {
"type": "number"
},
"StaffID": {
"type": "number"
},
"StaffName": {
"type": "string"
},
"PayType": {
"type": "number"
},
"PayRate": {
"type": "number"
},
"PiecePay": {
"type": "number"
},
"TimeTracked": {
"type": "string"
},
"Completed": {
"type": "boolean"
},
"CompleteConfirmedDate": {
"type": "string"
},
"Pay": {
"type": "number"
},
"Approved": {
"type": "number"
},
"ApprovedDate": {
"type": "string"
},
"CompletedStartDate": {
"type": "string"
},
"CompletedEndDate": {
"type": "string"
},
"PropertyID": {
"type": "string"
}
}
}
}
}
Tasks ¶
The Task object represents physical tasks. Each Task object is assigned to one Task.
Note: All Arguments are Optional.
Get TasksGET/api/v1/tasks?TaskRuleID={TaskRuleID}&PropertyBookingID={PropertyBookingID}&PropertyID={PropertyID}&Approved={Approved}&ApprovedStartDate={ApprovedStartDate}&ApprovedEndDate={ApprovedEndDate}&Completed={Completed}&CompletedStartDate={CompletedStartDate}&CompletedEndDate={CompletedEndDate}&Billable=&TaskStartDate={TaskStartDate}&TaskEndDate={TaskEndDate}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Example URI
- TaskRuleID
number
(optional) Example: 1- PropertyBookingID
number
(optional) Example: 1204- PropertyID
number
(optional) Example: 1- Approved
number
(optional) Example: 1- ApprovedStartDate
string
(required) Example: 20190101- ApprovedEndDate
string
(optional) Example: 20190101- Completed
number
(optional) Example: 1- CompletedStartDate
string
(optional) Example: 20190101- CompletedEndDate
string
(optional) Example: 20190201- TaskStartDate
string
(optional) Example: 20190101- TaskEndDate
string
(optional) Example: 20190101- Sort
string
(optional) Default: TaskID asc Example: TaskNameExample 2: sort=TaskID asc, TaskName asc
Available Sort Fields: TaskID, TaskDate, TaskName, TaskStartDate, MinTimeToComplete
Available Sort Order: asc, desc (asc if not specified)- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/tasks",
"has_more": true,
"data": {
"TaskID": 132,
"PropertyBookingID": 2,
"TaskRuleID": "58",
"PropertyID": 4,
"TaskName": "Deep Clean",
"TaskDescription": "Bring the whole kit.",
"Approved": true,
"ApprovedDate": 20190727,
"Completed": true,
"Billable": true,
"LaborAmount": 50,
"MaterialsAmount": 45,
"TaskDate": 20190813,
"CompleteConfirmedDate": 20190813,
"CreateDate": 20190302,
"TaskActive": true,
"TaskImages": [
{
"TaskImageID": 123,
"Image": "https://images.vrscheduler.com/70/IMG_5076.JPG"
}
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"TaskID": {
"type": "number",
"description": "Unique identifier for the task."
},
"PropertyBookingID": {
"type": "number",
"description": "Associated PropertyBooking Object."
},
"TaskRuleID": {
"type": "string"
},
"PropertyID": {
"type": "number",
"description": "Associated Property Object."
},
"TaskName": {
"type": "string",
"description": "Name of the task."
},
"TaskDescription": {
"type": "string",
"description": "Notes with details of the task."
},
"Approved": {
"type": "boolean",
"description": "Flag if the Task is approved to be billed."
},
"ApprovedDate": {
"type": "number",
"description": "The date the Task was Approved for billing."
},
"Completed": {
"type": "boolean",
"description": "Flag if the Task has been completed."
},
"Billable": {
"type": "boolean",
"description": "Flag if the Task is billable."
},
"LaborAmount": {
"type": "number",
"description": "Amount to bill for labor for this task."
},
"MaterialsAmount": {
"type": "number",
"description": "Amount to bill for materials for this task."
},
"TaskDate": {
"type": "number",
"description": "Date the task is scheduled to be done on."
},
"CompleteConfirmedDate": {
"type": "number",
"description": "Date the task was completed on."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
},
"TaskActive": {
"type": "boolean",
"description": "Define if task is active/inactive"
},
"TaskImages": {
"type": "array"
}
}
}
}
}
Get Task by IDGET/api/v1/tasks/{TaskID}
Note: Need Auth token in header for this api
Example URI
- TaskID
number
(required) Example: 132Unique identifier for the task.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/tasks",
"has_more": true,
"data": {
"TaskID": 132,
"PropertyBookingID": 2,
"TaskRuleID": "58",
"PropertyID": 4,
"TaskName": "Deep Clean",
"TaskDescription": "Bring the whole kit.",
"Approved": true,
"ApprovedDate": 20190727,
"Completed": true,
"Billable": true,
"LaborAmount": 50,
"MaterialsAmount": 45,
"TaskDate": 20190813,
"CompleteConfirmedDate": 20190813,
"CreateDate": 20190302,
"TaskActive": true,
"TaskImages": [
{
"TaskImageID": 123,
"Image": "https://images.vrscheduler.com/70/IMG_5076.JPG"
}
]
}
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"TaskID": {
"type": "number",
"description": "Unique identifier for the task."
},
"PropertyBookingID": {
"type": "number",
"description": "Associated PropertyBooking Object."
},
"TaskRuleID": {
"type": "string"
},
"PropertyID": {
"type": "number",
"description": "Associated Property Object."
},
"TaskName": {
"type": "string",
"description": "Name of the task."
},
"TaskDescription": {
"type": "string",
"description": "Notes with details of the task."
},
"Approved": {
"type": "boolean",
"description": "Flag if the Task is approved to be billed."
},
"ApprovedDate": {
"type": "number",
"description": "The date the Task was Approved for billing."
},
"Completed": {
"type": "boolean",
"description": "Flag if the Task has been completed."
},
"Billable": {
"type": "boolean",
"description": "Flag if the Task is billable."
},
"LaborAmount": {
"type": "number",
"description": "Amount to bill for labor for this task."
},
"MaterialsAmount": {
"type": "number",
"description": "Amount to bill for materials for this task."
},
"TaskDate": {
"type": "number",
"description": "Date the task is scheduled to be done on."
},
"CompleteConfirmedDate": {
"type": "number",
"description": "Date the task was completed on."
},
"CreateDate": {
"type": "number",
"description": "Creation date."
},
"TaskActive": {
"type": "boolean",
"description": "Define if task is active/inactive"
},
"TaskImages": {
"type": "array"
}
}
}
}
}
Create TaskPOST/api/v1/tasks
Note: Need Auth token in header for this api.
Example URI
Headers
Content-Type: application/json
Authorization: VRS <access_token>
Body
{
"PropertyID": 1,
"TaskRuleID": 1,
"TaskName": "TaskName",
"TaskDescription": "Some Description",
"TaskStartDate": "2019-01-01",
"TaskStartTime": 10,
"TaskCompleteByDate": "2019-01-01",
"TaskCompleteByTime": 10,
"TaskDate": "2019-01-01",
"TaskTime": 10,
"PropertyBookingID": 12345
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"PropertyID": {
"type": "number"
},
"TaskRuleID": {
"type": "number"
},
"TaskName": {
"type": "string"
},
"TaskDescription": {
"type": "string"
},
"TaskStartDate": {
"type": "string"
},
"TaskStartTime": {
"type": "number"
},
"TaskCompleteByDate": {
"type": "string"
},
"TaskCompleteByTime": {
"type": "number"
},
"TaskDate": {
"type": "string"
},
"TaskTime": {
"type": "number"
},
"PropertyBookingID": {
"type": "number"
}
}
}
201
Headers
Content-Type: application/json
Body
{
"TaskID": 2166295,
"TaskName": "TaskName",
"TaskDescription": "Some Description",
"CreateDate": "20210301",
"TaskStartDate": "20210301",
"TaskStartTime": 10,
"TaskCompleteByDate": "20210301",
"TaskCompleteByTime": 10,
"TaskDate": "20210301",
"TaskTime": 10,
"PropertyID": 171,
"PropertyBookingID": 12345
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"TaskID": {
"type": "number"
},
"TaskName": {
"type": "string"
},
"TaskDescription": {
"type": "string",
"description": "2"
},
"CreateDate": {
"type": "string"
},
"TaskStartDate": {
"type": "string"
},
"TaskStartTime": {
"type": "number"
},
"TaskCompleteByDate": {
"type": "string"
},
"TaskCompleteByTime": {
"type": "number"
},
"TaskDate": {
"type": "string"
},
"TaskTime": {
"type": "number"
},
"PropertyID": {
"type": "number"
},
"PropertyBookingID": {
"type": "number"
}
}
}
Create Task With ImagePOST/api/v1/tasksWithImage
Note: Need Auth token in header for this api. The Request body is of type form-data instead of Raw. Please add ‘request’ key under Key column and the JSON data under Value column of form-data. Please add ‘Image1’ key under Key column and the image file under Value column of form-data. Ensure that the key name (which is ‘Image1’ here) of image should match the ‘ImageKey’ node in the JSON request. Include another key name such as “Image2” in the key and upload the image file under the value column if you want to upload more than one image. Make sure in the request JSON body’s Images array to have new set of “ImageKey”: “Image2”.
Example URI
Headers
Content-Type: multipart/form-data
Authorization: VRS <access_token>
Body
{
"request": {
"PropertyID": 1,
"TaskRuleID": 1,
"TaskName": "TaskName",
"TaskDescription": "Some Description",
"TaskStartDate": "2019-01-01",
"TaskStartTime": 10,
"TaskCompleteByDate": "2019-01-01",
"TaskCompleteByTime": 10,
"TaskDate": "2019-01-01",
"TaskTime": 10,
"PropertyBookingID": 12345,
"Images": [
{
"ImageKey": "Image1"
}
]
},
"Image1": "image file"
}
Schema
{
"type": "object",
"properties": {
"request": {
"type": "object",
"properties": {
"PropertyID": {
"type": "number"
},
"TaskRuleID": {
"type": "number"
},
"TaskName": {
"type": "string"
},
"TaskDescription": {
"type": "string"
},
"TaskStartDate": {
"type": "string"
},
"TaskStartTime": {
"type": "number"
},
"TaskCompleteByDate": {
"type": "string"
},
"TaskCompleteByTime": {
"type": "number"
},
"TaskDate": {
"type": "string"
},
"TaskTime": {
"type": "number"
},
"PropertyBookingID": {
"type": "number"
},
"Images": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ImageKey": {
"type": "string"
}
}
}
}
}
},
"Image1": {
"type": "string"
}
},
"$schema": "http://json-schema.org/draft-04/schema#"
}
201
Headers
Content-Type: application/json
Body
{
"TaskID": 2166295,
"TaskName": "TaskName",
"TaskDescription": "Some Description",
"CreateDate": "20210301",
"TaskStartDate": "20210301",
"TaskStartTime": 10,
"TaskCompleteByDate": "20210301",
"TaskCompleteByTime": 10,
"TaskDate": "20210301",
"TaskTime": 10,
"PropertyID": 171,
"PropertyBookingID": 12345
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"TaskID": {
"type": "number"
},
"TaskName": {
"type": "string"
},
"TaskDescription": {
"type": "string",
"description": "2"
},
"CreateDate": {
"type": "string"
},
"TaskStartDate": {
"type": "string"
},
"TaskStartTime": {
"type": "number"
},
"TaskCompleteByDate": {
"type": "string"
},
"TaskCompleteByTime": {
"type": "number"
},
"TaskDate": {
"type": "string"
},
"TaskTime": {
"type": "number"
},
"PropertyID": {
"type": "number"
},
"PropertyBookingID": {
"type": "number"
}
}
}
Update TaskPUT/api/v1/tasks/{TaskID}
Note: Need Auth token in header for this api
Example URI
- TaskID
number
(required) Example: 132Unique identifier for the task.
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"TaskID": 2166295,
"TaskName": "TaskName",
"TaskDescription": "Some Description",
"CreateDate": "20210301",
"TaskStartDate": "20210301",
"TaskStartTime": 10,
"TaskCompleteByDate": "20210301",
"TaskCompleteByTime": 10,
"TaskDate": "20210301",
"TaskTime": 10,
"PropertyID": 171,
"PropertyBookingID": 12345
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"TaskID": {
"type": "number"
},
"TaskName": {
"type": "string"
},
"TaskDescription": {
"type": "string",
"description": "2"
},
"CreateDate": {
"type": "string"
},
"TaskStartDate": {
"type": "string"
},
"TaskStartTime": {
"type": "number"
},
"TaskCompleteByDate": {
"type": "string"
},
"TaskCompleteByTime": {
"type": "number"
},
"TaskDate": {
"type": "string"
},
"TaskTime": {
"type": "number"
},
"PropertyID": {
"type": "number"
},
"PropertyBookingID": {
"type": "number"
}
}
}
Get Task Form ElementsGET/api/v1/taskformelements?TaskID={TaskID}&PropertyID={PropertyID}&CompletedStartDate={CompletedStartDate}&CompletedEndDate={CompletedEndDate}&ChecklistItemID={ChecklistItemID}&Sort={Sort}&per_page={per_page}&page={page}
Note: Need Auth token in header for this api
Note: Filters are important to make use of this endpoint
Example URI
- TaskID
number
(required) Example: 132Unique identifier for the staff.
- PropertyID
number
(required) Example: 456Unique identifier for the property associated with the task.
- CompletedStartDate
string
(required) Example: 20230101The start date for filtering tasks by completion date, formatted as YYYYMMDD.
- CompletedEndDate
string
(required) Example: 20230131The end date for filtering tasks by completion date, formatted as YYYYMMDD.
- ChecklistItemID
number
(required) Example: 789Unique identifier for the checklist item.
- Sort
string
(required) Example: CompleteConfirmedDateThe field by which to sort the results, e.g., CompleteConfirmedDate.
- per_page
number
(optional) Default: 20 Example: 20Display number of results in a page
- page
number
(optional) Default: 1 Example: 1Number of pages in a pagination
Headers
Authorization: VRS <access_token>
200
Headers
Content-Type: application/json
Body
{
"url": "/api/v1/taskformelements",
"has_more": true,
"data": [
{
"TaskID": 6667027,
"CompleteConfirmedDate": "20210614",
"ChecklistItem": "Stock Necessary Kitchen Items",
"InternalName": "Kitchen Stocking Checklist",
"Options": "Paper towels x 1\\r\\nDish Soap x 1\\r\\nDishwasher tabs x 4\\r\\nDish Sponge x 1\\r\\nBlack Garbage Bags x 3\\r\\nCompost bags x 3\\r\\nCoffee Filters min 24\\r\\nSalt and Pepper x 1\\r\\nlight bulbs",
"Checked": 0,
"Image": "kitchen gally.jpeg",
"EnteredValue": "Dishwasher tabs x 4\\r",
"EnteredValueAmount": 0,
"ImageUploaded": "Dish.jpeg",
"OptionSelected": "0",
"ColumnValue": 3
}
]
}
Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"url": {
"type": "string"
},
"has_more": {
"type": "boolean"
},
"data": {
"type": "array"
}
}
}