WSD Reservation Invitees API
The Workplace Service Delivery (WSD) Reservation Invitees API provides endpoints to add invitees to reservations, fetch invitees of a reservation, and reassign invitees of a reservation.
To access this API, the caller must have the sn_wsd_core.workplace_user role and the Workplace Reservation Management (sn_wsd_rsv) plugin must be activated.
This API runs in the sn_wsd_rsv namespace.
For additional information on Workplace Reservation Management, see Workplace Reservation Management.
WSD Reservation Invitees - GET /api/sn_wsd_rsv/wsd_reservation_invitees/reservation/{sys_id}
Retrieves details about the invitees associated with a specified reservation.
URL format
Versioned URL: /api/sn_wsd_rsv/{api_version}/wsd_reservation_invitees/reservation/{sys_id}
Default URL: /api/sn_wsd_rsv/reservation/{sys_id}
Supported request parameters
| Name | Description |
|---|---|
| api_version | Optional. Version of the endpoint to access. For example, v1 or v2. Only specify this value to use an endpoint version other than the
latest.
Data type: String |
| sys_id | Sys_id of the reservation for which to return the invitee details. Data type: String |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| None |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
| Header | Description |
|---|---|
| Accept | Data format of the response body. Supported types: application/json or application/xml.
Default: application/json |
| Header | Description |
|---|---|
| None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 404 | Not found. The requested item wasn't found. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
Response body parameters
| Name | Description |
|---|---|
| result | Return results for the invitees associated with the specified reservation. Data type: Object |
| result.invitees | Details about the invitees associated with the reservation. Data type: Array of Objects |
| result.invitees.email | Email address of the invitee. Data type: String |
| result.invitees.firstName | First name of the invitee. Data type: String |
| result.invitees.inviteeId | Sys_id of the employee's user record. Data type: String Table: User [sys_user] |
| result.invitees.inviteState | Details about the current state of the invitee for the reservation. Data type: Object |
| result.invitees.inviteState.displayValue | Display value for the invitee state, such as New or Removed. Data type: String |
| result.invitees.inviteState.value | Internal value for the invitee state. Data type: String |
| result.invitees.inviteeType | Type of invitee. Valid values: (case-sensitive)
Data type: String |
| result.invitees.isVIP | Flag that indicates whether the invitee is classified as a VIP. Valid values:
Data type: Boolean |
| result.invitees.isWifiRequired | Flag that indicates whether the WIFI password should be provided to the visitor upon entry. Valid values:
Data type: Boolean |
| result.invitees.isParkingRequired | Flag that indicates whether the invitee requires parking. Valid values:
Data type: Boolean |
| result.invitees.lastName | Last name of the invitee. Data type: String |
| result.invitees.licensePlate | License plate of the invitee. Data type: String |
| result.invitees.location | Details about the workplace location of the invitee. Data type: Object |
| result.invitees.location.displayName | Display name of the invitee's workplace location, such as Dublin. Data type: String |
| result.invitees.location.sysId | Sys_id of the invitee workplace location. Data type: String Table: Workplace Location [sn_wsd_core_worplace_location] |
| result.invitees.name | Name of the invitee. Data type: String |
| result.invitees.org | Organization of the invitee. Data type: String |
| result.invitees.parkingType | Type of parking required for invitee. Valid values: (case-sensitive)
Data type: String |
| result.invitees.phoneNumber | Phone number of the invitee. Data type: String |
| result.invitees.privateNotes | Any additional notes provided by the invitee. Data type: String |
| result.invitees.reservationId | Sys_id of the reservation to which the invitee is associated. Data type: String Table: Workplace Reservation [sn_wsd_rsv_reservation] |
| result.invitees.reservationInviteeId | Sys_id of the reservation invitee for visitor. Data type: String Table: Reservation Invitee [sn_wsd_rsv_m2m_reservation_invitee] |
| result.invitees.title | Title of the invitee. Data type: String |
| result.invitees.visitorType | Type of invitee. Valid values: (case-sensitive)
Data type: String |
| result.reservationId | Sys_id of the reservation to which the invitee is associated. Data type: String Table: Workplace Reservation [sn_wsd_rsv_reservation] |
| result.reservationSubType | Sub-type of the reservation record, such as single or multi-child. Data type: String |
| result.success | Flag that indicates whether the call was successful. Possible values:
Data type: Boolean |
cURL request
The following code example shows how to retrieve the invitees for a reservation.
curl
"http://instance.servicenow.com/api/sn_wsd_rsv/wsd_reservation_invitees/reservation/17979dc9536b01103cf7ddeeff7b12b3" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
Return results:
{
"result": {
"success": true,
"reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
"reservationSubType": "single",
"invitees": [
{
"reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
"location": {
"sysId": "19efb84edb7650106c731dcd1396193c",
"displayName": "Dublin"
},
"reservationInviteeId": "1f97d58d53e701103cf7ddeeff7b129a",
"inviteeType": "employee",
"inviteState": {
"displayValue": "New",
"value": "new"
},
"inviteeId": "6816f79cc0a8016401c5a33be04be441",
"name": "System Administrator",
"email": "admin@example.com"
},
{
"reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
"location": {
"sysId": "19efb84edb7650106c731dcd1396193c",
"displayName": "Dublin"
},
"reservationInviteeId": "8ee7ddc9536b01103cf7ddeeff7b1219",
"inviteeType": "employee",
"inviteState": {
"displayValue": "New",
"value": "new"
},
"inviteeId": "62826bf03710200044e0bfc8bcbe5df1",
"name": "Abel Tuter",
"email": "abel.tuter@example.com"
},
{
"reservationId": "17979dc9536b01103cf7ddeeff7b12b3",
"location": {
"sysId": "19efb84edb7650106c731dcd1396193c",
"displayName": "Dublin"
},
"reservationInviteeId": "4ae7d10d536b01103cf7ddeeff7b126b",
"inviteeType": "visitor",
"inviteState": {
"displayValue": "New",
"value": "new"
},
"inviteeId": "86e7d10d536b01103cf7ddeeff7b1267",
"firstName": "Visitor",
"lastName": "User",
"name": "Visitor User",
"email": "visitoruser@example.com",
"phoneNumber": "+919876543210",
"isVIP": true,
"parkingType": "normal_parking",
"licensePlate": "1234",
"isParkingRequired": true,
"org": "Senow",
"visitorType": "contractor",
"title": "President",
"isWifiRequired": true,
"privateNotes": "Visiting"
}
]
}
}
WSD Reservation Invitees - POST /api/sn_wsd_rsv/wsd_reservation_invitees/reassign
Reassigns the specified invitees from one reservation to another.
URL format
Versioned URL: /api/sn_wsd_rsv/{api_version}/wsd_reservation_invitees/reassign
Default URL: /api/sn_wsd_rsv/wsd_reservation_invitees/reassign
Supported request parameters
| Name | Description |
|---|---|
| api_version | Optional. Version of the endpoint to access. For example, v1 or v2. Only specify this value to use an endpoint version other than the
latest.
Data type: String |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| reservationId | Required. Sys_id of the reservation for which to reassign the invitees. Data type: String Table: Workplace Reservation [sn_wsd_rsv_reservation] |
| reservationInvitees | List of invitees to reassign to the reservation identified in the reservationId parameter. This removes the specified invitees from an earlier reservation in which they were present as per the reservation invitee table and moves them to this reservation. Data type: Array of Strings Table: Reservation Invitee [sn_wsd_rsv_m2m_reservation_invitee] |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
| Header | Description |
|---|---|
| Accept | Data format of the
request body. Supported types: application/json,
application/xml or,
text/xml.
Default: application/json |
| Content-Type | Data format of the request body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 404 | Not found. The requested item wasn't found. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
Response body parameters
| Name | Description |
|---|---|
| result | Details about the invitee reassignment. Data type: Object |
| result.reservationInviteeIds | List of sys_ids of the reservation invitees that were re-assigned to the
specified reservation. Data type: Array of Strings |
| result.success | Flag that indicates whether the invitees were reassigned to the reservation. Possible values:
Data type: Boolean |
cURL request
The following code example shows how to reassign invitees to a reservation.
curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_reservation_invitees/reassign" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"reservationId\":\"3984e6c1532f01103cf7ddeeff7b129b\",
\"reservationInvitees\":{\"aa31427f531701103cf7ddeeff7b1243\",\"e231427f531701103cf7ddeeff7b1243\"}
}" \
--user 'username':'password'
Return results:
{
"result": {
"success": true,
"reservationInviteeIds": [
"aa31427f531701103cf7ddeeff7b1243",
"e231427f531701103cf7ddeeff7b1243"
]
}
}
WSD Reservation Invitees - POST /api/sn_wsd_rsv/wsd_reservation_invitees/submit
Adds the specified invitees to a specified reservation.
URL format
Versioned URL: /api/sn_wsd_rsv/{api_version}/wsd_reservation_invitees/submit
Default URL: /api/sn_wsd_rsv/wsd_reservation_invitees/submit
Supported request parameters
| Name | Description |
|---|---|
| api_version | Optional. Version of the endpoint to access. For example, v1 or v2. Only specify this value to use an endpoint version other than the
latest.
Data type: String |
| Name | Description |
|---|---|
| None |
| Name | Description |
|---|---|
| invitees | List of invitees to add to the specified reservation. Data type: Object |
| invitees.email | Required when inviteeType
is "visitor". Email address of the invitee. Data type: String |
| invitees.firstName | First name of the invitee. Data type: String |
| invitees.inviteeId | Required if inviteType is "employee". Sys_id of the employee's user record. Data type: String Table: User [sys_user] |
| invitees.inviteeType | Required. Type of invitee. Valid values: (case-sensitive)
Data type: String |
| invitees.isVIP | Flag that indicates whether the invitee is classified as a VIP. Valid values:
Data type: Boolean |
| invitees.isWifiRequired | Flag that indicates whether the WIFI password should be provided to the visitor upon entry. Valid values:
Data type: Boolean |
| invitees.lastName | Last name of the invitee. Data type: String |
| invitees.licensePlate | License plate of the invitee. Data type: String |
| invitees.org | Organization of the invitee. Data type: String |
| invitees.parkingType | Type of parking required for invitee. Valid values: (case-sensitive)
Data type: String |
| invitees.phone | Phone number of the invitee. Data type: String |
| invitees.privateNotes | Any additional notes provided by the invitee. Data type: String |
| invitees.title | Title of the invitee. Data type: String |
| invitees.visitorType | Type of invitee. Valid values: (case-sensitive)
Data type: String |
| reservationId | Required. Sys_id of the reservation for which to add the invitees. Data type: String Table: Workplace Reservations [sn_wsd_rsv_reservation] |
Headers
The following request and response headers apply to this HTTP action only, or apply to this action in a distinct way. For a list of general headers used in the REST API, see Supported REST API headers.
| Header | Description |
|---|---|
| Accept | Data format of the
request body. Supported types: application/json,
application/xml or,
text/xml.
Default: application/json |
| Content-Type | Data format of the request body. Only supports application/json. |
| Header | Description |
|---|---|
| None |
Status codes
The following status codes apply to this HTTP action. For a list of possible status codes used in the REST API, see REST API HTTP response codes.
| Status code | Description |
|---|---|
| 200 | Successful. The request was successfully processed. |
| 401 | Unauthorized. The user credentials are incorrect or have not been passed. |
| 404 | Not found. The requested item wasn't found. |
| 500 | Internal server error. An unexpected error occurred while processing the request. The response contains additional information about the error. |
Response body parameters
| Name | Description |
|---|---|
| result | Result of adding the invitees to the reservation. Data type: Object |
| result.reservationId | Sys_id of the reservation to which the invitee was added. Data type: String |
| result.success | Flag that indicates whether the invitees were added to the
reservation. Possible values:
Data type: Boolean |
cURL request
The following code example shows how to add both a visitor and an employee to a reservation.
curl "http://instance.servicenow.com/api/sn_wsd_rsv/v1/wsd_reservation_invitees/submit" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{[
\"reservationId\": \"041c4a13532f01103cf7ddeeff7b12c0\",
\"invitees\": [
{
\"inviteeType\": \"employee\",
\"inviteeId\": \"62826bf03710200044e0bfc8bcbe5df1\"
},
{
\"inviteeType\": \"visitor\",
\"email\": \"visitoruser@example.com\",
\"firstName\": \"Visitor\",
\"lastName\":\"User\",
\"isVIP\":true,
\"visitorType\":\"contractor\",
\"title\": \"ServiceNow Developer\",
\"phone\": \"+91 9876543210\",
\"isWifiRequired\": true,
\"parkingType\": \"ev_parking\",
\"licensePlate\": \"TS00TS0000\",
\"org\": \"ServiceNow\",
\"privateNotes\": \"Remarks\"
}
]}" \
--user 'username':'password'
Return results:
{
"result": {
"success": true,
"reservationId": "17979dc9536b01103cf7ddeeff7b12b3"
}
}