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
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=&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.
- 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",
"InternalNotes": "Internal Notes",
"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"
},
"InternalNotes": {
"type": "string"
},
"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",
"InternalNotes": "Internal Notes",
"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"
},
"InternalNotes": {
"type": "string"
},
"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",
"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"
},
"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",
"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"
},
"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/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=&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- 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
}
}
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"
}
}
}
}
}
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
}
}
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"
}
}
}
}
}
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
}
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"
}
}
}
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
}
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"
}
}
}
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
}
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"
}
}
}