WSD Reservable API

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 45분
  • The Workplace Service Delivery (WSD) Reservable API provides endpoints to retrieve details of a reservable, an entity that can be reserved, such as a workplace location, from a ServiceNow instance.

    주:
    A newer version of this API, WSD Reservable V2 API, is available for use. The new version allows you to include all reservables in a POST request to avoid character limitations of the sys_Id parameter.

    To access this API, the caller must have the sn_wsd_core.workplace_user role.

    This API runs in the sn_wsd_rsv namespace. To access this API, the Workplace Reservation Management (sn_wsd_rsv) plugin must be activated.

    For additional information on Workplace Reservation Management, see Workplace Reservation Management.

    WSD Reservable - GET /sn_wsd_rsv/reservable/list_reservables/{sys_ids}

    Returns the details for one or more specified reservables.

    URL format

    Versioned URL: /api/sn_wsd_rsv/{api_version}/reservable/list_reservables/{sys_ids}

    Default URL: /api/sn_wsd_rsv/reservable/list_reservables/{sys_ids}

    주:
    Available versions are specified in the REST API Explorer. For scripted REST APIs there is additional version information on the Scripted REST Service form.

    Supported request parameters

    표 1. Path 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_ids Sys_ids of the reservables whose details to return.

    If specifying multiple reservables, comma separate the sys_ids.

    Data type: String

    Table: Workplace Location [sn_wsd_core_workplace_location]

    표 2. Query parameters
    Name Description
    include_flexible_services Flag that indicates whether to return the flexible services associated with the reservable in to the response.

    A flexible service is an additional provision available with a reservable workplace item when a reservation is made. For example, Classroom style - Rows of tables arranged with all participants facing towards the front of the room. For additional information on flexible services, see Create a flexible service.

    Valid values:
    • true: Return the flexible service information.
    • false: Don't return the flexible service information.

    Data type: Boolean

    Default: false

    include_layouts Flag that indicates whether to return the location layout information in the response.

    Location layout information include such things as capacity, max capacity, preparation, and clean up duration. This information is located in the Location Layout [sn_wsd_rsv_m2m_location_layout] table.

    Valid values:
    • true: Return the location layout information.
    • false: Don't return the location layout information.

    Data type: Boolean

    Default: false

    include_standard_​services Flag that indicates whether to return the standard services information in the response. This information is located in the Standard Service [sn_wsd_rsv_standard_service] table.

    A standard service describes basic provisions available with a reservable workplace item when the reservation is made, such as white boards, additional monitors, and similar services. For additional information on standard services, see Standard services.

    Valid values:
    • true: Return the standard services information.
    • false: Don't return the standard services information.

    Data type: Boolean

    Default: false

    reservable_module_sys_id Required. Sys_id of the reservable module.

    A reservable module groups similar types of workplace items.

    For additional information on reservable modules, see Configure a reservable module.

    Data type: String

    Table: Reservable Module [sn_wsd_rsv_reservable_module]

    reservation_start_time Reservation start time to validate the lead time of extra services.

    Format: UTC format, yyyy-MM-dd HH:mm:ss

    Data type: String

    표 3. Request body parameters
    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.

    표 4. Request headers
    Header Description
    Accept Data format of the response body. Supported types: application/json or application/xml.

    Default: application/json

    표 5. Response headers
    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.

    표 6. Status codes
    Status code Description
    200 Successful. The request was successfully processed.
    400 Bad Request. A bad request type or malformed request was detected.
    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 on each matching reservable.

    Data type: Array of Objects

    {
      "result": [
        {
          "allow_invitees": Boolean,
          "area": {Object},
          "building": {Object},
          "campus": {Object},
          "capacity": Number,
          "description": "String",
          "display_number_of_attendees": Boolean,
          "display_on_behalf_of": Boolean,
          "display_sensitivity": Boolean,
          "email": "String",
          "employee_override_privacy": Boolean
          "enable_group_reservations": Boolean,
          "enable_reservation_privacy": Boolean,
          "external_id": "String",
          "flexible_services": [Array],
          "floor": {Object},
          "image": {Object},
          "is_reservable": Boolean,
          "layouts": [Array],
          "location_type": {Object},
          "meetingProviders": [Array],
          "moduleType": "String",
          "name": "String",
          "number": "String",
          "order": Number,
          "require_approval": Boolean,
          "requires_check_in": Boolean,
          "require_subject": Boolean,
          "reservable_quantity": Number,
          "site": {Object},
          "standard_services": [Array],
          "sys_id": "String",
          "title": "String",
          "type": "String",
          "tableName": "String"
        }
      ]
    }
    result.allow_invitees Flag that indicates whether employees are able to add invitees to the reservation.
    Valid values:
    • true: Allow employees to add invitees to the reservation.
    • false: Don't allow employees to add invitees to the reservation.

    Data type: Boolean

    result.area Area where the reservable is located.

    Data type: Object

    "area": {
       "display_value": "String",
       "sys_id": "String"
    }

    Table: Area [sn_wsd_core_area]

    result.area.display_value Display value for the area.

    Data type: String

    result.area.sys_id Sys_id of the associated area record.

    Data type: String

    result.building Building where the reservable is located.

    Data type: Object

    "building": {
      "display_value": "String",
      "sys_id": "String",
      "timezone": {Object}
    }

    Table: Building [sn_wsd_core_building]

    result.building.display_value Display value for the building.

    Data type: String

    result.building.sys_id Sys_id of the associated building record.

    Data type: String

    result.building.timezone Details of the time zone for the building.

    Data type: Object

    "timezone": {
      "displayValue": "String",
      "value": "String"
    }
    result.building.timezone.display_value Display value of the time zone in which the associated building resides.

    Data type: String

    result.building.timezone.value Internal value of the time zone in which the associated building resides.

    Data type: String

    result.campus Campus where the reservable is located.

    Data type: Object

    "campus": {
      "display_value": "String",
      "sys_id": "String"
    }

    Table: Campus [sn_wsd_core_campus]

    result.campus.display_value Display value for the campus.

    Data type: String

    result.campus.sys_id Sys_id of the associated campus record.

    Data type: String

    result.capacity Number of people that the reservable can accommodate.

    Data type: Number

    result.description

    Description of the reservable.

    Data type: String

    result.display_number_of_attendees Flag that indicates whether users can specify the number of attendees in the reservation.
    Valid values:
    • true: Users can specify the number of attendees.
    • false: Users can't specify the display number of attendees.

    Data type: Boolean

    result.display_on_behalf_of Flag that indicates whether reservations can be made on behalf of someone else.
    Valid values:
    • true: On behalf of supported.
    • false: On behalf of not supported.

    Data type: Boolean

    result.display_sensitivity Flag that indicates whether users can set the sensitivity of the reservation, such as normal or private.
    Valid values:
    • true: Able to set sensitivity.
    • false: Not able to set sensitivity. Defaults to normal.

    Data type: Boolean

    result.email Email address associated with the reservable.

    Data type: String

    result.employee_override_privacy Flag that indicates whether users can override the privacy setting for the associated reservable.

    For additional information on these privacy settings, see Location privacy settings and impact.

    Valid values:
    • true: Users can override the privacy setting for the associated reservable.
    • false: Users cannot override the privacy setting for the associated reservable.
    result.enable_group_reservations Flag that indicates whether users can make a group reservation.
    Valid values:
    • true: Able to make group reservations.
    • false: Not able to make group reservations.

    Data type: Boolean

    result.enable_reservation_privacy

    Flag that indicates the default setting for reservation privacy.

    For additional information on these privacy settings, see Location privacy settings and impact.

    Possible values:
    • true: Reservations are private by default.
    • false: Reservations are not private by default.

    Data type: Boolean

    result.external_id External ID of the reservable.

    Data type: String

    result.flexible_services Populated only if the include_flexible_services parameter is set to true and the workplace case management plugin is installed. Description of the flexible services associated with the reservables. There can be a parent flexible service, and several child flexible services.

    Data type: Object

    flexible_services": [
      {
        "additional_text": "String",
        "allow_only_single_service_item_selection": Boolean,
        "category": "String",
        "currency_code": "String",
        "flexible_service": [Array],
        "label": "String",
        "sub_category": "String",
        "sub_title": "String",
        "text": "String",
        "title": {Object}
      }
    ]

    Table: Workplace Service Item [sn_wsd_case_workplace_service_item]

    result.flexible_services.additional_text Text to prompt user to select additional flexible services.

    Data type: String

    result.flexible_services.allow_only_single_​service_item_selection Flag that indicates whether users can select only one service item among the group of flexible services within a reservation.
    Valid values:
    • true: Only able to make a single selection.
    • false: Able to make multiple selections.

    Data type: Boolean

    result.flexible_services.category Category of the flexible services.

    Data type: String

    result.flexible_services.currency_code Currency code used to calculate the amount of currency when ordering flexible services.

    Data type: String

    result.flexible_services.flexible_service Flexible services corresponding to a parent flexible service.

    Data type: Array of Objects

    "flexible_service": [
      {
        "flexible_service": [Array],
        "label": "String",
        "sub_category": "String"
     }
    ]

    Table: Workplace Service Item [sn_wsd_case_workplace_service_item]

    result.flexible_services.flexible_service.​flexible_service Details of each flexible service corresponding to a parent flexible service.

    Data type: Array of Objects

    "flexible_service": [
      {
        "additional_text": "String",
        "capacity_enabled": Boolean,
        "category": "String",
        "category_label": "String",
        "cleanup_duration": "String",
        "image": "String",
        "max_capacity": Number,
        "name": "String",
        "preparation_duration": "String",
        "price_per_unit": {Object},
        "quantity_enabled": Boolean,
        "quantity_required": Boolean,
        "short_description": "String",
        "sub_category": "String",
        "sub_category_label": "String",
        "sub_title": "String",
        "sys_id": "String",
        "text": "String",
        "title": {Object}
      }
    ]
    result.flexible_services.flexible_service.​flexible_service.additional_text Text used to prompt a user to select additional flexible services.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.capacity_enabled Flag that indicates whether the capacity of the room should appear in the reservation. If this is set to true, quantity_enabled will always be false.
    Valid values:
    • true: Capacity should appear.
    • false: Capacity should not appear.

    Data type: Boolean

    result.flexible_services.flexible_service.​flexible_service.category Category of the flexible service.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.category_label Category label of flexible service.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.cleanup_duration Amount of time it takes to clean up or remove the service added to the reservable.

    Data type: Number

    Unit: Milliseconds

    result.flexible_services.flexible_service.​flexible_service.image Link to the image of the flexible service.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.max_capacity Maximum number of occupants that the reservable can accommodate.

    Data type: Number

    result.flexible_services.flexible_service.​flexible_service.name Name of flexible service.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.preparation_duration Amount of time it takes to add the service to the reservable.

    Data type: String

    Unit: Milliseconds

    result.flexible_services.flexible_service.​flexible_service.price_per_unit Details of the cost of adding the flexible service to the reservable.

    Data type: Object

    "price_per_unit": {
      "code": "String",
      "value": "String"
    }
    result.flexible_services.flexible_service.​flexible_service.price_per_unit.code Currency code to use when calculating the cost, such as GBP or USD.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.price_per_unit.value Cost for each unit of the flexible service in the currency defined in the code parameter.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.quantity_enabled Flag that indicates whether the quantity field should appear in the reservation. If this is set to true, capacity_enabled will always be false.
    Valid values:
    • true: Quantity should appear.
    • false: Quantity should not appear.

    Data type: Boolean

    result.flexible_services.flexible_service.​flexible_service.quantity_required Flag that indicates whether the quantity is required.
    Valid values:
    • true: Quantity is required.
    • false: Quantity is not required.

    Data type: Boolean

    result.flexible_services.flexible_service.​flexible_service.short_description

    Brief description of the flexible service.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.sub_category Sub-category name of the flexible service, such as chair_layout.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.sub_category_label Sub-category label of the flexible service, such as Chair layout.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.sub_title Sub-title name of the child flexible service.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.sys_id Sys_id of flexible service.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.text Text used to prompt a user to select flexible services.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.title Details for the titles to use when adding and editing the child flexible service in the UI.

    Data type: Object

    "title": {
      "add": "String",
      "edit": "String"
    }
    result.flexible_services.flexible_service.​flexible_service.title.add Title used when adding a child flexible service in the UI.

    Data type: String

    result.flexible_services.flexible_service.​flexible_service.title.edit Title used when editing a child flexible service in the UI.

    Data type: String

    result.flexible_services.flexible_service.label Flexible service label.

    Data type: String

    result.flexible_services.flexible_service.​sub_category Sub-category of the parent flexible services, such as additional chair.

    Data type: String

    result.flexible_services.flexible_service.​sub_title Sub-title name of the parent flexible service.

    Data type: String

    result.flexible_services.flexible_service.text Text used to prompt a user to select a parent flexible services.

    Data type: String

    result.flexible_services.flexible_service.title Details for the titles to use when adding and editing the parent flexible service in the UI.

    Data type: Object

    "title": {
      "add": "String",
      "edit": "String"
    }
    result.flexible_services.flexible_service.title.​add Title used when adding a parent flexible service in the UI.

    Data type: String

    result.flexible_services.flexible_service.title.​edit Title used when editing a parent flexible service in the UI.

    Data type: String

    result.floor Details about the floor on which the reservable is located.

    Data type: Object

    "floor": {
      "display_value": "String",
      "sys_id": "String"
    }

    Table: Floor [sn_wsd_core_floor]

    result.floor.display_value Display number of the floor on which the reservable resides, such as 12.

    Data type: String

    result.floor.sys_id Sys_id of the associated record in the Floor table.

    Data type: String

    result.image Details about an image that represents the associated reservable.

    Data type: Object

    "image": {
      "link": "String",
      "sys_id": "String"
    }

    Table: Images [db_image]

    result.image.link Link to an image that represents the reservable.

    Data type: String

    result.image.sys_id Sys_id of the associated image record.

    Data type: String

    result.is_reservable Flag that indicates whether the flexible service can be reserved.
    Valid values:
    • true: Flexible service can be reserved.
    • false: Flexible service can't be reserved.

    Data type: Boolean

    results.layouts Only populated if the include_layouts parameter is set to true.

    List of the layouts associated with the reservable.

    Data type: Array of Objects

    "layouts": [
      {
        "capacity": Number,
        "cleanup_duration": "String",
        "image": {Object},
        "is_default": Boolean,
        "max_capacity": Number,
        "name": "String",
        "preparation_duration": "String",
        "short_description": "String",
        "sys_id": "String"
      }
    ]
    result.layouts.capacity Number of people that will attend the meeting.

    Data type: Number

    result.layouts.cleanup_duration Amount of time it takes to clean the reservable for this layout.

    Data type: Number

    Unit: Milliseconds

    result.layouts.image Details about an image that represents the layout for the associated reservable.

    Data type: Object

    "image": {
      "link": "String",
      "sys_id": "String"
    }

    Table: Images [db_image]

    result.layouts.image.link Link to an image that represents the layout for this reservable.

    Data type: String

    Table: Images [db_image]

    result.layouts.image.sys_id Sys_id of the associated image record.

    Data type: String

    result.layouts.is_default Flag that indicates whether the associated layout is the default for the reservable.
    Valid values:
    • true: Default.
    • false: Not default.

    Data type: Boolean

    result.layouts.max_capacity Maximum number of people that the layout associated with the reservable can accommodate.

    Data type: Number

    result.layouts.name Name of the location layout.

    Data type: String

    result.layouts.preparation_duration Amount of time it takes to prepare the associated location layout.

    Data type: Number

    Unit: Milliseconds

    result.layouts.short_description Brief description of the location layout.

    Data type: String

    result.layouts.sys_id Sys_id of the location layout.

    Data type: String

    Table: Layout [sn_wsd_rsv_layout]

    result.location_type Details about the type of location of the reservable, such as workplace/desk, cafe, or gym.

    Data type: Object

    "location_type": {
      "display_value": "String",
      "sys_id": "String"
    }

    Table: Space Type [sn_wsd_core_space_type]

    result.location_type.display_value Display value of the location type.

    Data type: String

    result.location_type.sys_id Sys_id of the associated record.

    Data type: String

    Table: Space Type [sn_wsd_core_space_type]

    result.meetingProviders Details about the virtual meeting providers associated with the reservable.

    Data type: Array of Objects

    "meetingProviders": [
      {
        "display_value": "String",
        "value": "String"
      }
    ]

    Table: Virtual Meeting Provider [sn_wsd_rsv_virtual_meeting_provider]

    result.meetingProviders.display_value Display value of the virtual provider's name.

    Data type: String

    result.meetingProviders.value Actual value for the virtual provider's name in the record.

    Data type: String

    result.moduleType Reservable module associated with the reservable, such as desks or meeting room.

    Data type: String

    result.name Name of the reservable.

    Data type: String

    result.number Unique identifier of the reservable. This value is more human readable than the sys_id.

    Data type: String

    result.order Order number for the reservable.

    Data type: Number

    result.require_approval Flag that indicates whether reserving the reservable requires an approval.
    Possible values:
    • true: Approval required.
    • false: Approval isn't required.

    Data type: Boolean

    result.requires_check_in Flag that indicates whether the reservable requires the user to check in.
    Valid values:
    • true: Check in required.
    • false: Check in isn't required.

    Data type: Boolean

    result.require_subject Flag that indicates whether the user must enter a subject when making the reservation.
    Valid values:
    • true: Subject required.
    • false: Subject isn't required.

    Data type: Boolean

    result.reservable_quantity Maximum number of times the associated reservable can be reserved for the same time. This value is used when assigning neighborhood spaces to an area.

    Data type: Integer

    result.site Details about the site where the reservable resides.

    Data type: Object

    "site": {
      "display_value": "String",
      "sys_id": "String"
    }

    Table: Site [sn_wsd_core_site]

    result.site.display_value Display value of the site.

    Data type: String

    result.standard_services Only populated if the include_standard_services parameter is set to true.
    Associated standard services, such as flip chart, projector screen, and whiteboard and markers.

    Data type: Array of Objects

    "standard_services": [
      {
        "font_awesome_icon": "String",
        "name": "String",
        "short_description": "String",
        "sys_id": "String"
      }
    ]
    result.standard_services.font_awesome_icon Name of the thumbnail icon associated with the standard service.

    Data type: String

    result.standard_services.name Name of the standard service.

    Data type: String

    result.standard_services.short_description Brief description of the standard service.

    Data type: String

    result.standard_services.sys_id Sys_id of the standard service record.

    Data type: String

    Table: Standard Service [sn_wsd_rsv_standard_service]

    result.site.sys_id Sys_id of the associated site record.

    Data type: String

    Table: Site [sn_wsd_core_site]

    result.tableName Name of the table in which the reservable record resides.

    Data type: String

    result.title Title of the reservable.

    Data type: String

    result.type Type of a reservable, such as location.

    Data type: String

    cURL request

    The following code example shows how to call this endpoint.

    curl "http://instance.servicenow.com/api/sn_wsd_rsv/reservable/list_reservables/dad3df5977220110b3d7be377b5a99ce,3ed3139977220110b3d7be377b5a99d1?include_flexible_services=true&include_layouts=false&include_reservable_purposes=true&include_standard_services=true&reservable_module_sys_id=c31241cedb7650106c731dcd13961917" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"

    Return results:

    {
      "result": [
        {
          "sys_id": "3e41e94adb7210106c731dcd1396198c",
          "external_id": null,
          "wsd_email": null,
          "name": "A1-02-04",
          "title": "A1-02-04",
          "description": "General desk available for reservation.",
          "image": null,
          "number": "SPCE0009004",
          "site": {
            "sys_id": "628eec06db7650106c731dcd139619dd",
            "display_value": "North America"
          },
          "campus": {
            "sys_id": "82b2a0cedb3650106c731dcd139619e9",
            "display_value": "California Campus"
          },
          "building": {
            "sys_id": "94e264cedb3650106c731dcd13961919",
            "display_value": "CAL-B1",
            "timezone": {
              "value": "US/Pacific",
              "displayValue": "US/Pacific"
            }
          },
          "floor": {
            "sys_id": "fc7368cedb3650106c731dcd13961902",
            "display_value": "Floor 1"
          },
          "area": null,
          "capacity": "1",
          "reservable_quantity": null,
          "location_type": {
            "sys_id": "5f017383eb512010b89bfdfc9c5228c8",
            "display_value": "Workspace/Desk"
          },
          "order": null,
          "requires_check_in": null,
          "is_reservable": "1",
          "type": "location",
          "moduleType": "Desks",
          "meetingProviders": [],
          "require_subject": false,
          "allow_invitees": true,
          "display_number_of_attendees": false,
          "display_on_behalf_of": true,
          "display_sensitivity": false,
          "enable_group_reservations": false,
          "enable_reservation_privacy": true,
          "employee_override_privacy": true,
          "tableName": "sn_wsd_core_space",
          "require_approval": false
        },
        {
          "sys_id": "fd41a94adb7210106c731dcd1396195a",
          "external_id": null,
          "wsd_email": null,
          "name": "A1-02-03",
          "title": "A1-02-03",
          "description": "General desk available for reservation.",
          "image": null,
          "number": "SPCE0009003",
          "site": {
            "sys_id": "628eec06db7650106c731dcd139619dd",
            "display_value": "North America"
          },
          "campus": {
            "sys_id": "82b2a0cedb3650106c731dcd139619e9",
            "display_value": "California Campus"
          },
          "building": {
            "sys_id": "94e264cedb3650106c731dcd13961919",
            "display_value": "CAL-B1",
            "timezone": {
              "value": "US/Pacific",
              "displayValue": "US/Pacific"
            }
          },
          "floor": {
            "sys_id": "fc7368cedb3650106c731dcd13961902",
            "display_value": "Floor 1"
          },
          "area": null,
          "capacity": "1",
          "reservable_quantity": null,
          "location_type": {
            "sys_id": "5f017383eb512010b89bfdfc9c5228c8",
            "display_value": "Workspace/Desk"
          },
          "order": null,
          "requires_check_in": null,
          "is_reservable": "1",
          "type": "location",
          "moduleType": "Desks",
          "meetingProviders": [],
          "require_subject": false,
          "allow_invitees": true,
          "display_number_of_attendees": false,
          "display_on_behalf_of": true,
          "display_sensitivity": false,
          "enable_group_reservations": false,
          "enable_reservation_privacy": true,
          "employee_override_privacy": true,
          "tableName": "sn_wsd_core_space",
          "require_approval": false
        }
      ]
    }