Back to top

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 authtoken
POST/api/v1/oauth/login

Example URI

POST https://api.vrscheduler.com/api/v1/oauth/login
Request
HideShow
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."
    }
  }
}
Response  200
HideShow
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 RefreshToken
GET/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

GET https://api.vrscheduler.com/api/v1/oauth/refresh
Request
HideShow
Headers
Authorization: VRS <refresh_token>
Response  200
HideShow
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 Properties
GET/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

GET https://api.vrscheduler.com/api/v1/properties?OwnerID=256&Active=&RegionID=1&Sort=PropertyName asc&per_page=20&page=1
URI Parameters
HideShow
OwnerID
number (optional) Example: 256

The unique identifier for the ownerid.

RegionID
number (optional) Example: 1

The unique identifier for the regionid.

Sort
string (optional) Default: PropertyID asc Example: PropertyName asc

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
GET/api/v1/properties/{PropertyID}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/properties/256
URI Parameters
HideShow
PropertyID
number (required) Example: 256

The unique identifier for the propertyid.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Property
POST/api/v1/properties

Note: Need Auth token in header for this api.

Example URI

POST https://api.vrscheduler.com/api/v1/properties
Request
HideShow
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"
    }
  }
}
Response  201
HideShow
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 ID
PUT/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

PUT https://api.vrscheduler.com/api/v1/properties/1236
URI Parameters
HideShow
propertyID
number (required) Example: 1236

The unique identifier for the propertyID. .

Request
HideShow
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"
    }
  }
}
Response  200
HideShow
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 Statuses
GET/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

GET https://api.vrscheduler.com/api/v1/propertystatuses?propertystatusid=256&propertystatus=256&sort=PropertyStatusID asc&per_page=20&page=1
URI Parameters
HideShow
PropertyStatusID
number (optional) Example: 256

The unique identifier for the propertystatusid.

PropertyStatus
string (optional) Example: 256

Provide Property Status

Sort
string (optional) Default: PropertyStatusID asc Example: PropertyStatusID asc

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
PATCH/api/v1/property/{PropertyID}

Note: Need Auth token in header for this api.

Example URI

PATCH https://api.vrscheduler.com/api/v1/property/256
URI Parameters
HideShow
PropertyID
number (required) Example: 256

The unique identifier for the propertyid.

Request
HideShow
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"
    }
  }
}
Response  200
HideShow
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 Issues
GET/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

GET https://api.vrscheduler.com/api/v1/issues?StatusID=2&IssueType=4&Billable=1&CreateStartDate=20190101&CreateEndDate=20190102&ClosedStartDate=20190102&ClosedEndDate=20190102&Urgent=1&PropertyID=13&Sort=CreateDate DESC&per_page=20&page=1&closed=0
URI Parameters
HideShow
StatusID
string (optional) Example: 2

0 = New, 1 = In Progress, 2 = On Hold, 3 = Cataloged.

IssueType
string (optional) Example: 4

0 = Damage, 1 = Maintenance, 2 = Lost and Found, 3 = Supply Flag, -1 = None.

Billable
boolean (optional) Example: 1

Flag indicating if Issue should be billed to Owner

CreateStartDate
string (optional) Example: 20190101

Returns results including and after specified created date.

CreateEndDate
string (optional) Example: 20190102

Returns results including and before specified created date.

ClosedStartDate
string (optional) Example: 20190102

Returns results including and after specified closed date.

ClosedEndDate
string (optional) Example: 20190102

Returns results including and before specified closed date.

Urgent
boolean (optional) Example: 1

Toggle if the issue is urgent or not.

PropertyID
number (optional) Example: 13

unique identifier of the property

closed
number (optional) Example: 0

0 = ClosedDate IS NULL, 1 = ClosedDate IS NOT NULL.

Sort
string (optional) Default: IssueID ASC Example: CreateDate DESC

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
GET/api/v1/issues/{IssueID}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/issues/1236
URI Parameters
HideShow
IssueID
number (required) Example: 1236

The unique identifier for the issueID.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Issue
POST/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

POST https://api.vrscheduler.com/api/v1/issues
Request
HideShow
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"
        }
      }
    }
  }
}
Response  201
HideShow
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 Issue
PUT/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

PUT https://api.vrscheduler.com/api/v1/issues
Request
HideShow
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"
        }
      }
    }
  }
}
Response  201
HideShow
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 TaskRules
GET/api/v1/taskrules?Active={Active}&Sort={Sort}&per_page={per_page}&page={page}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/taskrules?Active=true&Sort=TaskRule&per_page=20&page=1
URI Parameters
HideShow
Active
boolean (optional) Default: true Example: true

Active: true
Inactive: false

Sort
string (optional) Default: TaskRuleID asc Example: TaskRule

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
GET/api/v1/taskrules/{TaskRuleID}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/taskrules/132
URI Parameters
HideShow
TaskRuleID
number (required) Example: 132

Unique identifier for the task rule.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 TaskRule
POST/v1/propertyTaskRules

Note: Need Auth token in header for this api.

Example URI

POST https://api.vrscheduler.com/v1/propertyTaskRules
Request
HideShow
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"
    }
  }
}
Response  201
HideShow
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 TaskRules
GET/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

GET https://api.vrscheduler.com/v1/propertyTaskRules?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&page=1&sort=PropertyToTaskRuleID&per_page=20
URI Parameters
HideShow
PropertyToTaskRuleID
number (optional) Example: 123
PropertyID
number (optional) Example: 132
TaskRuleID
number (optional) Example: 132

Unique identifier for the task rule.

LaborAmount
number (optional) Example: 50

Amount to bill for labor for this task.

MaterialsAmount
number (optional) Example: 45

Amount to bill for materials for this task.

MinTimeToComplete
number (optional) Example: 20

Minimum Time to complete task

MaxTimeToComplete
number (optional) Example: 30

Minimum Time to complete task

LeadStaffID
number (optional) Example: 142

Lead Staff ID

LeadStaffPiecePay
number (optional) Example: 100
LeadStaffName
string (optional) Example: John
StaffID
number (optional) Example: 132

Staff 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: PropertyToTaskRuleID

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
DELETE/api/v1/propertyTaskRules/{propertyTaskRuleID}

Note: Need Auth token in header for this api

Example URI

DELETE https://api.vrscheduler.com/api/v1/propertyTaskRules/1236
URI Parameters
HideShow
propertyTaskRuleID
number (required) Example: 1236

The unique identifier for the propertyTaskRuleID.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Owners
GET/api/v1/owners?Active={Active}&Sort={Sort}&per_page={per_page}&page={page}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/owners?Active=true&Sort=OwnerID&per_page=20&page=1
URI Parameters
HideShow
Active
boolean (optional) Default: true Example: true

Whether the owner is active

Sort
string (optional) Default: OwnerID asc Example: OwnerID

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Details
POST/api/v1/owners

Note: Need Auth token in header for this api.

Example URI

POST https://api.vrscheduler.com/api/v1/owners
Request
HideShow
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"
    }
  }
}
Response  201
HideShow
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 Regions
GET/api/v1/regions?Sort={Sort}&per_page={per_page}&page={page}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/regions?Sort=RegionID&per_page=20&page=1
URI Parameters
HideShow
Sort
string (optional) Default: RegionID asc Example: RegionID

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Groups
GET/api/v1/regiongroups?Sort={Sort}&per_page={per_page}&page={page}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/regiongroups?Sort=RegionGroupID&per_page=20&page=1
URI Parameters
HideShow
Sort
string (optional) Default: RegionGroupID asc Example: RegionGroupID

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 StaffTaskTimes
GET/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

GET https://api.vrscheduler.com/api/v1/stafftasktimes?StaffID=12&TaskID=144&PropertyID=91860&StartDate=20190101&EndDate=20190202&Sort=StaffTaskTimeID&per_page=20&page=1
URI Parameters
HideShow
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: StaffTaskTimeID

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 StaffDayTimes
GET/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

GET https://api.vrscheduler.com/api/v1/staffdaytimes?StaffID=12&StartDate=20190101&EndDate=20190202&Sort=StaffDayTimeID&per_page=20&page=1
URI Parameters
HideShow
StaffID
number (optional) Example: 12
StartDate
string (optional) Example: 20190101
EndDate
string (optional) Example: 20190202
Sort
string (optional) Default: StaffDayTimeID asc Example: StaffDayTimeID

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 PropertyBookings
GET/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

GET https://api.vrscheduler.com/api/v1/propertybookings?PropertyID=13&Active=&CheckInStartDate=20190101&CheckInEndDate=20190102&CheckOutStartDate=20190102&CheckOutEndDate=20190102&Sort=PropertyBookingID&per_page=20&page=1
URI Parameters
HideShow
CheckInStartDate
string (optional) Example: 20190101

Returns results including and after specified created date.

CheckInEndDate
string (optional) Example: 20190102

Returns results including and before specified created date.

CheckOutStartDate
string (optional) Example: 20190102

Returns results including and after specified closed date.

CheckOutEndDate
string (optional) Example: 20190102

Returns results including and before specified closed date.

PropertyID
number (optional) Example: 13

unique identifier of the property

Sort
string (optional) Default: PropertyBookingID asc Example: PropertyBookingID

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
GET/api/v1/propertybookings/{propertyBookingID}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/propertybookings/1236
URI Parameters
HideShow
propertyBookingID
number (required) Example: 1236

The unique identifier for the propertyBookingID.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 PropertyBooking
POST/api/v1/propertybookings

Note: Need Auth token in header for this api .

Example URI

POST https://api.vrscheduler.com/api/v1/propertybookings
Request
HideShow
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"
  ]
}
Response  200
HideShow
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 PropertyBooking
PUT/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

PUT https://api.vrscheduler.com/api/v1/propertybookings/1236
URI Parameters
HideShow
propertyBookingID
number (required) Example: 1236

The unique identifier for the propertyBookingID. .

Request
HideShow
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"
    }
  }
}
Response  200
HideShow
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 ID
DELETE/api/v1/propertybookings/{propertyBookingID}

Note: Need Auth token in header for this api

Example URI

DELETE https://api.vrscheduler.com/api/v1/propertybookings/1236
URI Parameters
HideShow
propertyBookingID
number (required) Example: 1236

The unique identifier for the propertyBookingID.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Staff
GET/api/v1/staff?Sort={Sort}&per_page={per_page}&page={page}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/staff?Sort=Name&per_page=20&page=1
URI Parameters
HideShow
Sort
string (optional) Default: StaffID asc Example: Name

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
GET/api/v1/staff/{StaffID}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/staff/132
URI Parameters
HideShow
StaffID
number (required) Example: 132

Unique identifier for the staff.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 StaffTasks
GET/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

GET https://api.vrscheduler.com/api/v1/stafftasks?StaffID=123&TaskRuleID=12345&TaskID=123&PayType=1&Approved=1&PropertyID=123&ApprovedStartDate=20190101&ApprovedEndDate=20190102&Completed=1&CompletedStartDate=20211207&CompletedEndDate=20211207&Sort=StaffName&per_page=20&page=1
URI Parameters
HideShow
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: StaffName

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
GET/api/v1/stafftasks/{StaffTaskID}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/stafftasks/1236
URI Parameters
HideShow
StaffTaskID
number (required) Example: 1236

The unique identifier for the StaffTaskID.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Tasks
GET/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

GET https://api.vrscheduler.com/api/v1/tasks?TaskRuleID=1&PropertyBookingID=1204&PropertyID=1&Approved=1&ApprovedStartDate=20190101&ApprovedEndDate=20190101&Completed=1&CompletedStartDate=20190101&CompletedEndDate=&Billable=&TaskStartDate=20190101&TaskEndDate=20190101&Sort=TaskName&per_page=20&page=1
URI Parameters
HideShow
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: TaskName

Example 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: 20

Display number of results in a page

page
number (optional) Default: 1 Example: 1

Number of pages in a pagination

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 ID
GET/api/v1/tasks/{TaskID}

Note: Need Auth token in header for this api

Example URI

GET https://api.vrscheduler.com/api/v1/tasks/132
URI Parameters
HideShow
TaskID
number (required) Example: 132

Unique identifier for the task.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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 Task
POST/api/v1/tasks

Note: Need Auth token in header for this api.

Example URI

POST https://api.vrscheduler.com/api/v1/tasks
Request
HideShow
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"
    }
  }
}
Response  201
HideShow
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 Task
PUT/api/v1/tasks/{TaskID}

Note: Need Auth token in header for this api

Example URI

PUT https://api.vrscheduler.com/api/v1/tasks/132
URI Parameters
HideShow
TaskID
number (required) Example: 132

Unique identifier for the task.

Request
HideShow
Headers
Authorization: VRS <access_token>
Response  200
HideShow
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"
    }
  }
}

Generated by aglio on 31 Mar 2023