--- openapi: 3.0.3 info: description: PlaceOS Staff-API description title: staff-api version: 1.2.0 paths: /api/staff/v1/bookings: get: summary: lists bookings based on the parameters provided description: 'lists bookings based on the parameters provided booking_type is required unless event_id or ical_uid is present' tags: - Bookings operationId: Bookings_index parameters: - name: period_start in: query description: booking period start as a unix epoch example: "1661725146" schema: type: integer format: Int64 - name: period_end in: query description: booking period end as a unix epoch example: "1661743123" schema: type: integer format: Int64 - name: type in: query description: the generic name of the asset whose bookings you wish to view example: desk schema: type: string nullable: true - name: deleted in: query description: when true, it returns deleted bookings example: "true" schema: type: boolean - name: include_checked_out in: query description: when true, returns all bookings including checked out ones example: "true" schema: type: boolean - name: checked_out in: query description: when true, only returns checked out bookings, unless `include_checked_out=true` example: "true" schema: type: boolean - name: zones in: query description: this filters only bookings in the zones provided, multiple zones can be provided comma seperated example: zone-123,zone-456 schema: type: string nullable: true - name: email in: query description: filters bookings owned by this user email example: user@org.com schema: type: string nullable: true - name: user in: query description: filters bookings owned by this user id example: user-1234 schema: type: string nullable: true - name: include_booked_by in: query description: if `email` or `user` parameters are set, this includes bookings that user booked on behalf of others example: "true" schema: type: boolean nullable: true - name: checked_in in: query description: filters bookings that have been checked in or not example: "true" schema: type: boolean nullable: true - name: created_before in: query description: filters bookings that were created before the unix epoch specified example: "1661743123" schema: type: integer format: Int64 nullable: true - name: created_after in: query description: filters bookings that were created after the unix epoch specified example: "1661743123" schema: type: integer format: Int64 nullable: true - name: approved in: query description: filters bookings that are approved or not example: "true" schema: type: boolean nullable: true - name: rejected in: query description: filters bookings that are rejected or not example: "true" schema: type: boolean nullable: true - name: extension_data in: query description: filters bookings with matching extension data entries example: '{"entry1":"value to match","entry2":1234}' schema: type: string nullable: true - name: state in: query description: filters on the booking process state, a user defined value example: pending-approval schema: type: string nullable: true - name: department in: query description: filters bookings owned by a department, a user defined value example: accounting schema: type: string nullable: true - name: event_id in: query description: filters bookings associated with an event, such as an Office365 Calendar event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe schema: type: string nullable: true - name: ical_uid in: query description: filters bookings associated with an event, such as an Office365 Calendar event ical_uid example: 19rh93h5t893h5v@calendar.iCloud.com schema: type: string nullable: true - name: limit in: query description: the maximum number of results to return example: "10000" schema: type: integer format: Int32 - name: offset in: query description: the starting offset of the result set. Used to implement pagination schema: type: integer format: Int32 - name: recurrence in: query description: the recurring bookings index of the result set. Used to implement pagination with recurring bookings schema: type: integer format: Int32 - name: permission in: query description: 'filters bookings based on the permission level. Options: PRIVATE, OPEN, PUBLIC' example: PUBLIC schema: type: string nullable: true - name: link_ext in: query schema: type: string nullable: true - name: include_parent_bookings in: query description: include parent bookings example: "true" schema: type: boolean nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' post: summary: creates a new booking tags: - Bookings operationId: Bookings_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' required: true parameters: - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: limit_override in: query description: allows a client to override any limits imposed on bookings example: "3" schema: type: integer format: Int32 nullable: true - name: event_id in: query description: links booking with an event, such as an Office365 Calendar event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe schema: type: string nullable: true - name: ical_uid in: query description: links booking with an event, such as an Office365 Calendar event ical_uid example: 19rh93h5t893h5v@calendar.iCloud.com schema: type: string nullable: true responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/booked: get: summary: lists asset IDs based on the parameters provided description: 'lists asset IDs based on the parameters provided booking_type is required unless event_id or ical_uid is present' tags: - Bookings operationId: Bookings_booked parameters: - name: period_start in: query description: booking period start as a unix epoch example: "1661725146" schema: type: integer format: Int64 - name: period_end in: query description: booking period end as a unix epoch example: "1661743123" schema: type: integer format: Int64 - name: type in: query description: the generic name of the asset whose bookings you wish to view example: desk schema: type: string nullable: true - name: zones in: query description: this filters only bookings in the zones provided, multiple zones can be provided comma seperated example: zone-123,zone-456 schema: type: string nullable: true - name: email in: query description: filters bookings owned by this user email example: user@org.com schema: type: string nullable: true - name: user in: query description: filters bookings owned by this user id example: user-1234 schema: type: string nullable: true - name: include_booked_by in: query description: if `email` or `user` parameters are set, this includes bookings that user booked on behalf of others example: "true" schema: type: boolean nullable: true - name: checked_in in: query description: filters bookings that have been checked in or not example: "true" schema: type: boolean nullable: true - name: created_before in: query description: filters bookings that were created before the unix epoch specified example: "1661743123" schema: type: integer format: Int64 nullable: true - name: created_after in: query description: filters bookings that were created after the unix epoch specified example: "1661743123" schema: type: integer format: Int64 nullable: true - name: approved in: query description: filters bookings that are approved or not example: "true" schema: type: boolean nullable: true - name: extension_data in: query description: filters bookings with matching extension data entries example: '{"entry1":"value to match","entry2":1234}' schema: type: string nullable: true - name: state in: query description: filters on the booking process state, a user defined value example: pending-approval schema: type: string nullable: true - name: department in: query description: filters bookings owned by a department, a user defined value example: accounting schema: type: string nullable: true - name: event_id in: query description: filters bookings associated with an event, such as an Office365 Calendar event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe schema: type: string nullable: true - name: ical_uid in: query description: filters bookings associated with an event, such as an Office365 Calendar event ical_uid example: 19rh93h5t893h5v@calendar.iCloud.com schema: type: string nullable: true - name: limit in: query description: the maximum number of results to return example: "100000" schema: type: integer format: Int32 - name: offset in: query description: the starting offset of the result set. Used to implement pagination schema: type: integer format: Int32 - name: permission in: query description: 'filters bookings based on the permission level. Options: PRIVATE, OPEN, PUBLIC' example: PUBLIC schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/String' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/clashing-assets: post: summary: lists conflicting assets based on booking description: 'lists conflicting assets based on booking will return a list of asset_ids that are already booked during the specified time range if asset_ids or asset_id is set on the booking, then it will only return booked assets from that list' tags: - Bookings operationId: Bookings_clashing_assets requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' required: true parameters: - name: return_available in: query description: return available assets, this requires asset_ids be set to the full list example: "false" schema: type: boolean - name: include_clash_time in: query description: include the clash times, this is not compatible with return_available example: "false" schema: type: boolean responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/_Array_NamedTuple_asset_id__String__booking_start__Int64__booking_end__Int64_____Array_String__' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}: get: summary: returns the booking requested tags: - Bookings operationId: Bookings_show parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' put: summary: patches an existing booking with the changes provided tags: - Bookings operationId: Bookings_update requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: limit_override in: query description: allows a client to override any limits imposed on bookings example: "3" schema: type: integer format: Int32 nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' delete: summary: marks the provided booking as deleted tags: - Bookings operationId: Bookings_destroy parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' patch: summary: patches an existing booking with the changes provided tags: - Bookings operationId: Bookings_update{3} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: limit_override in: query description: allows a client to override any limits imposed on bookings example: "3" schema: type: integer format: Int32 nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/instance/{instance}: get: summary: returns the booking requested tags: - Bookings operationId: Bookings_show{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' put: summary: patches an existing booking with the changes provided tags: - Bookings operationId: Bookings_update{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: limit_override in: query description: allows a client to override any limits imposed on bookings example: "3" schema: type: integer format: Int32 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' delete: summary: marks the provided booking as deleted tags: - Bookings operationId: Bookings_destroy{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' patch: summary: patches an existing booking with the changes provided tags: - Bookings operationId: Bookings_update{4} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: limit_override in: query description: allows a client to override any limits imposed on bookings example: "3" schema: type: integer format: Int32 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/ext_data: patch: summary: patches an existing booking extension data with the changes provided tags: - Bookings operationId: Bookings_patch_extdata requestBody: content: application/json: schema: $ref: '#/components/schemas/Hash_String__JSON__Any_' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: signal_changes in: query description: signal changes to the booking example: "true" schema: type: boolean - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/ext_data/{instance}: patch: summary: patches an existing booking extension data with the changes provided tags: - Bookings operationId: Bookings_patch_extdata{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/Hash_String__JSON__Any_' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: signal_changes in: query description: signal changes to the booking example: "true" schema: type: boolean responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/approve: post: summary: approves a booking (if booking approval is required in an organisation) tags: - Bookings operationId: Bookings_approve parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/approve/{instance}: post: summary: approves a booking (if booking approval is required in an organisation) tags: - Bookings operationId: Bookings_approve{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/reject: post: summary: rejects a booking tags: - Bookings operationId: Bookings_reject parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/reject/{instance}: post: summary: rejects a booking tags: - Bookings operationId: Bookings_reject{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/check_in: post: summary: indicates that a booking has commenced tags: - Bookings operationId: Bookings_check_in parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: state in: query description: the desired value of the booking checked-in flag example: "false" schema: type: boolean - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/checkin: post: summary: indicates that a booking has commenced tags: - Bookings operationId: Bookings_check_in{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: state in: query description: the desired value of the booking checked-in flag example: "false" schema: type: boolean - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/check_in/{instance}: post: summary: indicates that a booking has commenced tags: - Bookings operationId: Bookings_check_in{3} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: state in: query description: the desired value of the booking checked-in flag example: "false" schema: type: boolean - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/checkin/{instance}: post: summary: indicates that a booking has commenced tags: - Bookings operationId: Bookings_check_in{4} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: state in: query description: the desired value of the booking checked-in flag example: "false" schema: type: boolean - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/update_state: post: summary: the current state of a booking, if a custom state machine is being used tags: - Bookings operationId: Bookings_update_state parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: state in: query description: the user defined process state of the booking example: pending_approval required: true schema: type: string - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/update_state/{instance}: post: summary: the current state of a booking, if a custom state machine is being used tags: - Bookings operationId: Bookings_update_state{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: state in: query description: the user defined process state of the booking example: pending_approval required: true schema: type: string - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/update_induction: post: summary: update the induction status tags: - Bookings operationId: Bookings_update_induction parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: induction in: query description: the induction status of the booking example: accepted required: true schema: type: string enum: - tentative - accepted - declined - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/update_induction/{instance}: post: summary: update the induction status tags: - Bookings operationId: Bookings_update_induction{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: path description: a recurring instance id example: "1234567" required: true schema: type: integer format: Int64 nullable: true - name: induction in: query description: the induction status of the booking example: accepted required: true schema: type: string enum: - tentative - accepted - declined - name: utm_source in: query description: provided for use with analytics example: mobile schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/guests: get: summary: returns a list of guests associated with a booking tags: - Bookings operationId: Bookings_guest_list parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/guests/{guest_id}/check_in: post: summary: marks the standalone visitor as checked-in or checked-out based on the state param tags: - Bookings operationId: Bookings_guest_checkin parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: guest_id in: path description: the email of the guest we want to checkin example: person@external.com required: true schema: type: string - name: state in: query description: the checkin state, defaults to `true` example: "false" schema: type: boolean - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/guests/{guest_id}/checkin: post: summary: marks the standalone visitor as checked-in or checked-out based on the state param tags: - Bookings operationId: Bookings_guest_checkin{2} parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: guest_id in: path description: the email of the guest we want to checkin example: person@external.com required: true schema: type: string - name: state in: query description: the checkin state, defaults to `true` example: "false" schema: type: boolean - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/attendee: post: summary: Adds a single attendee to an existing booking tags: - Bookings operationId: Bookings_add_attendee requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event__Attendee' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Attendee' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/bookings/{id}/attendee/{attendee_id}: delete: tags: - Bookings operationId: Bookings_destroy_attendee parameters: - name: id in: path required: true schema: type: integer format: Int64 - name: attendee_id in: path description: the email of the attendee we want to remove example: person@example.com required: true schema: type: string - name: instance in: query description: a recurring instance id example: "1234567" schema: type: integer format: Int64 nullable: true responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 409: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' 410: description: Gone content: application/json: schema: $ref: '#/components/schemas/Bookings__BookingError' /api/staff/v1/calendars: get: summary: lists the users default calendars tags: - Calendars operationId: Calendars_index parameters: [] responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__Calendar' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/calendars/availability: get: summary: checks for availability of matched calendars, returns a list of calendars with availability tags: - Calendars operationId: Calendars_availability parameters: - name: period_start in: query description: search period start as a unix epoch example: "1661725146" required: true schema: type: integer format: Int64 - name: period_end in: query description: search period end as a unix epoch example: "1661743123" required: true schema: type: integer format: Int64 - name: calendars in: query description: a comma seperated list of calendar ids, recommend using `system_id` for resource calendars example: user@org.com,room2@resource.org.com schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 schema: type: string nullable: true - name: features in: query description: a comma seperated list of room features example: whiteboard,vidconf schema: type: string nullable: true - name: capacity in: query example: "8" schema: type: integer format: Int32 nullable: true - name: bookable in: query description: only search for bookable or non-bookable rooms example: "true" schema: type: boolean nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendars__Availability' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/calendars/free_busy: get: summary: Finds the busy times in the period provided on the selected calendars. description: 'Finds the busy times in the period provided on the selected calendars. Returns the calendars that have meetings overlapping provided period' tags: - Calendars operationId: Calendars_free_busy parameters: - name: period_start in: query description: search period start as a unix epoch example: "1661725146" required: true schema: type: integer format: Int64 - name: period_end in: query description: search period end as a unix epoch example: "1661743123" required: true schema: type: integer format: Int64 - name: calendars in: query description: a comma seperated list of calendar ids, recommend using `system_id` for resource calendars example: user@org.com,room2@resource.org.com schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 schema: type: string nullable: true - name: features in: query description: a comma seperated list of room features example: whiteboard,vidconf schema: type: string nullable: true - name: capacity in: query example: "8" schema: type: integer format: Int32 nullable: true - name: bookable in: query description: only search for bookable or non-bookable rooms example: "true" schema: type: boolean nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Calendars__Availability' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events: get: summary: lists events occuring in the period provided, by default on the current users calendar tags: - Events operationId: Events_index parameters: - name: period_start in: query description: event period start as a unix epoch example: "1661725146" required: true schema: type: integer format: Int64 - name: period_end in: query description: event period end as a unix epoch example: "1661743123" required: true schema: type: integer format: Int64 - name: calendars in: query description: a comma seperated list of calendar ids, recommend using `system_id` for resource calendars example: user@org.com,room2@resource.org.com schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 schema: type: string nullable: true - name: include_cancelled in: query description: includes events that have been marked as cancelled example: "true" schema: type: boolean - name: ical_uid in: query description: the ical uid of the event you are looking for example: sqvitruh3ho3mrq896tplad4v8 schema: type: string nullable: true - name: filter in: query description: An optional advanced search filter using Azure AD filter syntax example: "" schema: type: string nullable: true - name: strict in: query description: how to respond when there are calendar errors. Notify sets X-Calendar-Errors, limit returns a 429 error when rate limiting occured, any will 500 if there are any calendar errors example: notify schema: type: string enum: - notify - limit - all responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__Event' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: creates a new calendar event tags: - Events operationId: Events_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event' required: true parameters: [] responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/history: get: summary: returns history records for events in the specified period tags: - Events operationId: Events_history parameters: - name: period_start in: query description: event period start as a unix epoch example: "1661725146" required: true schema: type: integer format: Int64 - name: period_end in: query description: event period end as a unix epoch example: "1661743123" required: true schema: type: integer format: Int64 - name: calendars in: query description: a comma seperated list of calendar ids, recommend using `system_id` for resource calendars example: user@org.com,room2@resource.org.com schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 schema: type: string nullable: true - name: ical_uid in: query description: the ical uid of the event you are looking for example: sqvitruh3ho3mrq896tplad4v8 schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__History' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}: get: summary: returns the event requested. description: 'returns the event requested. by default it assumes the event exists on the users calendar. you can provide a calendar param to override this default or you can provide a system id if the event exists on a resource calendar' tags: - Events operationId: Events_show parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' put: summary: patches an existing booking with the changes provided description: 'patches an existing booking with the changes provided by default it assumes the event exists on the users calendar. you can provide a calendar param to override this default or you can provide a system id if the event exists on a resource calendar Note: event metadata is associated with a resource calendar, not the hosts event. so if you want to update an event and the metadata then you need to provide both the `calendar` param and the `system_id` param when moving a room from one system to another, the `system_id` param should be set to the current rooms associated system. Then in the event body, the `system_id` field should be the new system.' tags: - Events operationId: Events_update requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event' required: true parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the calendar associated with this event id example: user@org.com schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' delete: summary: deletes the event from the calendar, it will not appear as cancelled, it will be gone description: 'deletes the event from the calendar, it will not appear as cancelled, it will be gone by default it assumes the event id exists on the users calendar you can clarify the calendar that the event belongs to by using the calendar param and specify a system id if there is event metadata or linked booking associated with the event' tags: - Events operationId: Events_destroy parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com schema: type: string nullable: true - name: notify in: query description: set to `false` to prevent attendees being notified of the change example: "false" schema: type: boolean responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' patch: summary: patches an existing booking with the changes provided description: 'patches an existing booking with the changes provided by default it assumes the event exists on the users calendar. you can provide a calendar param to override this default or you can provide a system id if the event exists on a resource calendar Note: event metadata is associated with a resource calendar, not the hosts event. so if you want to update an event and the metadata then you need to provide both the `calendar` param and the `system_id` param when moving a room from one system to another, the `system_id` param should be set to the current rooms associated system. Then in the event body, the `system_id` field should be the new system.' tags: - Events operationId: Events_update{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event' required: true parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the calendar associated with this event id example: user@org.com schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/attendee: post: summary: Adds a single attendee to an existing event tags: - Events operationId: Events_add_attendee requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Event__Attendee' required: true parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the calendar associated with this event id example: user@org.com schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/_PlaceCalendar__Event__Attendee___PlaceOS__Model__Attendee_' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/attendee/{email}: delete: tags: - Events operationId: Events_delete_attendee parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: email in: path description: the email of the attendee to delete example: user@example.com required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the calendar associated with this event id example: user@org.com schema: type: string nullable: true responses: 200: description: OK 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/metadata/{system_id}/link/{ical_uid}: post: summary: used to link resource recurring master ids to metadata tags: - Events operationId: Events_link_master_metadata parameters: - name: id in: path description: the event id to link example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: path description: the event space associated with this event example: sys-1234 required: true schema: type: string - name: ical_uid in: path description: the ical_uid of the event example: 5FC53010-1267-4F8E-BC28-1D7AE55A7C99 required: true schema: type: string responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/metadata/{system_id}: get: summary: '# returns the event metadata requested.' description: '# returns the event metadata requested. by default it assumes the event exists on the resource calendar. you can provide a calendar param to override this default' tags: - Events operationId: Events_get_metadata parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: path description: the event space associated with this event example: sys-1234 required: true schema: type: string - name: ical_uid in: query description: an alternative lookup for finding event-metadata example: 5FC53010-1267-4F8E-BC28-1D7AE55A7C99 schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/JSON__Any' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' put: summary: Replaces the metadata on a booking without touching the calendar event description: 'Replaces the metadata on a booking without touching the calendar event by default it assumes the event exists on the resource calendar. you can provide a calendar param to override this default' tags: - Events operationId: Events_replace_metadata requestBody: content: application/json: schema: $ref: '#/components/schemas/Hash_String__JSON__Any_' required: true parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: path description: the event space associated with this event example: sys-1234 required: true schema: type: string - name: calendar in: query description: the calendar associated with this event id example: user@org.com schema: type: string nullable: true - name: ical_uid in: query description: an alternative lookup for finding event-metadata example: 5FC53010-1267-4F8E-BC28-1D7AE55A7C99 schema: type: string nullable: true - name: setup_time in: query description: update event setup time example: "10" schema: type: integer format: Int64 nullable: true - name: breakdown_time in: query description: update event breakdown time example: "10" schema: type: integer format: Int64 nullable: true - name: setup_event_id in: query description: update setup event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe schema: type: string nullable: true - name: breakdown_event_id in: query description: update breakdown event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/JSON__Any' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' patch: summary: Patches the metadata on a booking without touching the calendar event description: 'Patches the metadata on a booking without touching the calendar event only updates the keys provided in the request by default it assumes the event exists on the resource calendar. you can provide a calendar param to override this default' tags: - Events operationId: Events_patch_metadata requestBody: content: application/json: schema: $ref: '#/components/schemas/Hash_String__JSON__Any_' required: true parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: path description: the event space associated with this event example: sys-1234 required: true schema: type: string - name: calendar in: query description: the calendar associated with this event id example: user@org.com schema: type: string nullable: true - name: ical_uid in: query description: an alternative lookup for finding event-metadata example: 5FC53010-1267-4F8E-BC28-1D7AE55A7C99 schema: type: string nullable: true - name: setup_time in: query description: update event setup time example: "10" schema: type: integer format: Int64 nullable: true - name: breakdown_time in: query description: update event breakdown time example: "10" schema: type: integer format: Int64 nullable: true - name: setup_event_id in: query description: update setup event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe schema: type: string nullable: true - name: breakdown_event_id in: query description: update breakdown event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/JSON__Any' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/notify/{change}/{system_id}/{event_id}: post: tags: - Events operationId: Events_notify_change requestBody: content: application/json: schema: $ref: '#/components/schemas/_PlaceCalendar__Event___Nil_' required: true parameters: - name: change in: path description: the type of change that has occured example: created required: true schema: type: string enum: - created - updated - deleted - name: system_id in: path description: the event space associated with this event example: sys-1234 required: true schema: type: string - name: event_id in: path description: the event space associated with this event example: sys-1234 required: true schema: type: string responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/decline: post: summary: cancels the meeting without deleting it description: 'cancels the meeting without deleting it visually the event will remain on the calendar with a line through it NOTE:: any body data you post will be used as the message body in the declined message' tags: - Events operationId: Events_decline parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com schema: type: string nullable: true - name: notify in: query description: set to `false` to prevent attendees being notified of the change example: "false" schema: type: boolean responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/approve: post: summary: approves / accepts the meeting on behalf of the event space tags: - Events operationId: Events_approve parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Bool' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/approve_all: post: tags: - Events operationId: Events_approve_all parameters: - name: period_start in: query description: event period start as a unix epoch example: "1661725146" required: true schema: type: integer format: Int64 - name: period_end in: query description: event period end as a unix epoch example: "1661743123" required: true schema: type: integer format: Int64 - name: calendars in: query description: a comma seperated list of calendar ids, recommend using `system_id` for resource calendars example: user@org.com,room2@resource.org.com schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 schema: type: string nullable: true - name: ical_uid in: query description: the ical uid of the event you are looking for example: sqvitruh3ho3mrq896tplad4v8 schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/String' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/reject: post: summary: rejects / declines the meeting on behalf of the event space tags: - Events operationId: Events_reject parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Bool' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/guests: get: summary: Event Guest management tags: - Events operationId: Events_guest_list parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 required: true schema: type: string responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/extension_metadata/{system_id}: get: summary: This exists to obtain events that have some condition that requires action. description: 'This exists to obtain events that have some condition that requires action. i.e. you might have a flag that indicates if an action has taken place and can use this to look up events in certain states. example route: /extension_metadata?field_name=colour&value=blue' tags: - Events operationId: Events_extension_metadata parameters: - name: system_id in: path description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: field_name in: query description: the field we want to query example: status schema: type: string nullable: true - name: value in: query description: value we want to match example: approved schema: type: string nullable: true - name: period_start in: query description: event period start as a unix epoch example: "1661725146" schema: type: integer format: Int64 nullable: true - name: period_end in: query description: event period end as a unix epoch example: "1661743123" schema: type: integer format: Int64 nullable: true - name: event_ref in: query description: list of event ids that we're potentially example: event_id,recurring_event_id,ical_uid schema: type: array items: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__EventMetadata' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/guests/{guest_id}/check_in: post: summary: a guest has arrived for a meeting in person. description: 'a guest has arrived for a meeting in person. This route can be used to notify hosts' tags: - Events operationId: Events_guest_checkin parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: guest_id in: path description: the email of the guest we want to checkin example: person@external.com required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com schema: type: string nullable: true - name: state in: query description: the checkin state, defaults to `true` example: "false" schema: type: boolean responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/events/{id}/guests/{guest_id}/checkin: post: summary: a guest has arrived for a meeting in person. description: 'a guest has arrived for a meeting in person. This route can be used to notify hosts' tags: - Events operationId: Events_guest_checkin{2} parameters: - name: id in: path description: the event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: true schema: type: string - name: guest_id in: path description: the email of the guest we want to checkin example: person@external.com required: true schema: type: string - name: system_id in: query description: the event space associated with this event example: sys-1234 schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com schema: type: string nullable: true - name: state in: query description: the checkin state, defaults to `true` example: "false" schema: type: boolean responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/groups: get: summary: returns a list of user groups in the orgainisations directory tags: - Groups operationId: Groups_index parameters: - name: q in: query description: optional search query example: accounting schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__Group' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/groups/{id}: get: summary: returns the details of the provided group id tags: - Groups operationId: Groups_show parameters: - name: id in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__Group' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/groups/{id}/members: get: summary: returns the list of staff memebers in a particular user group tags: - Groups operationId: Groups_members parameters: - name: id in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__Member' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/guests: get: summary: lists known guests (which can be queried) OR locates visitors via meeting start and end times (can be filtered by calendars, zone_ids and system_ids) tags: - Guests operationId: Guests_index parameters: - name: q in: query description: space seperated search query for guests example: steve von schema: type: string - name: period_start in: query description: event period start as a unix epoch example: "1661725146" schema: type: integer format: Int64 nullable: true - name: period_end in: query description: event period end as a unix epoch example: "1661743123" schema: type: integer format: Int64 nullable: true - name: calendars in: query description: '[deprecated] a comma seperated list of calendar ids, recommend using `system_id` for resource calendars' example: user@org.com,room2@resource.org.com schema: type: string nullable: true - name: zone_ids in: query description: '[deprecated] a comma seperated list of zone ids used for events or bookings' example: zone-123,zone-456 schema: type: string nullable: true - name: system_ids in: query description: '[deprecated] a comma seperated list of event spaces' example: sys-1234,sys-5678 schema: type: string nullable: true - name: zones in: query description: a comma seperated list of zone ids for bookings example: zone-123,zone-456 schema: type: array items: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: creates a new guest record tags: - Guests operationId: Guests_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' required: true parameters: [] responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/guests/{id}: get: summary: returns the details of a particular guest and if they are expected to attend in person today tags: - Guests operationId: Guests_show parameters: - name: id in: path description: looks up a guest using either their id or email example: external@org.com required: true schema: anyOf: - type: integer format: Int64 - type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' put: summary: patches a guest record with the changes provided tags: - Guests operationId: Guests_update requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' required: true parameters: - name: id in: path description: looks up a guest using either their id or email example: external@org.com required: true schema: anyOf: - type: integer format: Int64 - type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' delete: summary: removes the guest record from the database tags: - Guests operationId: Guests_destroy parameters: - name: id in: path description: looks up a guest using either their id or email example: external@org.com required: true schema: anyOf: - type: integer format: Int64 - type: string responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' patch: summary: patches a guest record with the changes provided tags: - Guests operationId: Guests_update{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' required: true parameters: - name: id in: path description: looks up a guest using either their id or email example: external@org.com required: true schema: anyOf: - type: integer format: Int64 - type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Guest' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/guests/{id}/meetings: get: summary: returns the meetings that the provided guest is attending today (approximation based on internal records) tags: - Guests operationId: Guests_meetings parameters: - name: id in: path description: looks up a guest using either their id or email example: external@org.com required: true schema: anyOf: - type: integer format: Int64 - type: string - name: include_past in: query description: shoule we include past events they have visited example: "true" schema: type: boolean - name: limit in: query description: how many results to return example: "10" schema: type: integer format: Int32 responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__Event' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/guests/{id}/bookings: get: summary: returns the list of bookings a guest is expected to or has attended in person tags: - Guests operationId: Guests_bookings parameters: - name: id in: path description: looks up a guest using either their id or email example: external@org.com required: true schema: anyOf: - type: integer format: Int64 - type: string - name: include_past in: query description: shoule we include past bookings example: "true" schema: type: boolean - name: limit in: query description: how many results to return example: "10" schema: type: integer format: Int32 responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Booking' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1: get: summary: returns the service build details tags: - HealthCheck operationId: HealthCheck_index parameters: [] responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/HealthCheck__BuildInfo' /api/staff/v1/place: get: summary: Retrieves a list of rooms from the tenant place object description: 'Retrieves a list of rooms from the tenant place object This function supports advanced filtering using Azure AD filter syntax. For more information on Azure AD filter syntax, visit: https://learn.microsoft.com/en-us/graph/filter-query-parameter?tabs=http' tags: - Place operationId: Place_index parameters: - name: match in: query description: An optional query parameter to return a subset of properties for a resource. With match, you can specify a subset or a superset of the default properties. example: id,displayName schema: type: string nullable: true - name: filter in: query description: An optional advanced search filter using Azure AD filter syntax to query parameter to retrieve a subset of a collection.. example: startsWith(givenName,'ben') or startsWith(surname,'ben') schema: type: string nullable: true - name: top in: query description: 'Optional: Use the top query parameter to specify the number of items to be included in the result. Default value is 100' example: "100" schema: type: integer format: Int32 nullable: true - name: skip in: query description: 'Optional: Use skip query parameter to set the number of items to skip at the start of a collection.' example: 21 to retrieve search results from 21st record schema: type: integer format: Int32 nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Office365__Room' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/people: get: summary: Retrieves a list of users from the organization directory description: 'Retrieves a list of users from the organization directory This function supports advanced filtering using Azure AD filter syntax. For more information on Azure AD filter syntax, visit: https://learn.microsoft.com/en-us/graph/filter-query-parameter?tabs=http' tags: - Staff operationId: Staff_index parameters: - name: q in: query description: An optional search query to filter users by name or email. If both 'q' and 'filter' parameters are provided, 'filter' takes precedence. example: steve schema: type: string nullable: true - name: filter in: query description: An optional advanced search filter using Azure AD filter syntax. Provides more control over the search criteria and takes precedence over the 'q' parameter. Supports both Azure AD and Google providers. example: startsWith(givenName,'ben') or startsWith(surname,'ben') schema: type: string nullable: true - name: next_page in: query description: a google token or graph api URI representing the next page of results schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__User' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/people/{id}: get: summary: returns user details for the id provided tags: - Staff operationId: Staff_show parameters: - name: id in: path description: a user id OR user email address example: user@org.com required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__User' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/people/{id}/photo: get: summary: returns user photo tags: - Staff operationId: Staff_photo parameters: - name: id in: path description: a user id OR user email address example: user@org.com required: true schema: type: string responses: 200: description: OK 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/people/{id}/groups: get: summary: returns the list of groups the user is a member tags: - Staff operationId: Staff_groups parameters: - name: id in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__Group' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/people/{id}/manager: get: summary: returns the users manager tags: - Staff operationId: Staff_manager parameters: - name: id in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceCalendar__User' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/people/{id}/calendars: get: summary: returns the list of public calendars tags: - Staff operationId: Staff_calendars parameters: - name: id in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceCalendar__Calendar' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/surveys: get: summary: returns a list of surveys tags: - Surveys operationId: Surveys_index parameters: - name: zone_id in: query description: filters surveys by zone_id example: zone1234 schema: type: string nullable: true - name: building_id in: query description: filters surveys by building_id example: building1234 schema: type: string nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Survey' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: creates a new survey tags: - Surveys operationId: Surveys_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey' required: true parameters: [] responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/surveys/{id}: get: summary: show a survey tags: - Surveys operationId: Surveys_show parameters: - name: id in: path description: the survey id example: "1234" required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' put: summary: patches an existing survey tags: - Surveys operationId: Surveys_update requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' delete: summary: deletes the survey tags: - Surveys operationId: Surveys_destroy parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' patch: summary: patches an existing survey tags: - Surveys operationId: Surveys_update{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/surveys/answers: get: summary: returns a list of answers tags: - Answers operationId: Surveys::Answers_index parameters: - name: survey_id in: query description: the survey id to get answers for example: "1234" schema: type: integer format: Int64 nullable: true - name: created_after in: query description: filters answers that were created after the unix epoch specified example: "1661743123" schema: type: integer format: Int64 nullable: true - name: created_before in: query description: filters answers that were created before the unix epoch specified example: "1661743123" schema: type: integer format: Int64 nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Survey__Answer' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: creates a new survey answer tags: - Answers operationId: Surveys::Answers_create requestBody: content: application/json: schema: $ref: '#/components/schemas/Array_PlaceOS__Model__Survey__Answer_' required: true parameters: [] responses: 201: description: Created content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Survey__Answer' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/surveys/invitations: get: summary: returns a list of invitations tags: - Invitations operationId: Surveys::Invitations_index parameters: - name: survey_id in: query description: the survey id to get invitations for example: "1234" schema: type: integer format: Int64 nullable: true - name: sent in: query description: filter by sent status example: "false" schema: type: boolean nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: creates a new invitation tags: - Invitations operationId: Surveys::Invitations_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' required: true parameters: [] responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/surveys/invitations/{token}: get: summary: show an invitation tags: - Invitations operationId: Surveys::Invitations_show parameters: - name: token in: path description: the invitation token example: ABCDEF required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' put: summary: patches an existing survey invitation tags: - Invitations operationId: Surveys::Invitations_update requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' required: true parameters: - name: token in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' delete: summary: deletes the invitation tags: - Invitations operationId: Surveys::Invitations_destroy parameters: - name: token in: path description: the invitation token example: ABCDEF required: true schema: type: string responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' patch: summary: patches an existing survey invitation tags: - Invitations operationId: Surveys::Invitations_update{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' required: true parameters: - name: token in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Invitation' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/surveys/questions: get: summary: returns a list of questions tags: - Questions operationId: Surveys::Questions_index parameters: - name: survey_id in: query description: the survey id to get questions for example: "1234" schema: type: integer format: Int64 nullable: true - name: deleted in: query description: filter by soft-deleted example: "true" schema: type: boolean nullable: true responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: creates a new question tags: - Questions operationId: Surveys::Questions_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' required: true parameters: [] responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/surveys/questions/{id}: get: summary: show a question tags: - Questions operationId: Surveys::Questions_show parameters: - name: id in: path description: the question id example: "1234" required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' put: summary: patches an existing question description: 'patches an existing question This will create a new version of the question if there are any linked answers, and then soft delete the old version.' tags: - Questions operationId: Surveys::Questions_update requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' delete: summary: deletes the question description: 'deletes the question This will soft delete the question if there are any linked answers or if the question is in any surveys.' tags: - Questions operationId: Surveys::Questions_destroy parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' patch: summary: patches an existing question description: 'patches an existing question This will create a new version of the question if there are any linked answers, and then soft delete the old version.' tags: - Questions operationId: Surveys::Questions_update{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Survey__Question' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/teams/{teams_id}/{channel_id}: get: summary: returns the list of messages (without the replies) in a channel of a team. tags: - Teams operationId: Teams_index parameters: - name: teams_id in: path required: true schema: type: string - name: channel_id in: path required: true schema: type: string - name: top in: query description: optional number of channel messages to returned, default page size is 20 example: "20" schema: type: integer format: Int32 nullable: true responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Office365__ChatMessageList' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: Send a new chatMessage in the specified channel or a chat. tags: - Teams operationId: Teams_send_channel_message requestBody: content: application/json: schema: $ref: '#/components/schemas/String' required: true parameters: - name: teams_id in: path required: true schema: type: string - name: channel_id in: path required: true schema: type: string - name: type in: query description: optional message content type, default to TEXT example: HTML schema: type: string responses: 201: description: Created 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/teams/{teams_id}/{channel_id}/{message_id}: get: summary: returns a single message or a message reply in a channel or a chat. tags: - Teams operationId: Teams_show parameters: - name: teams_id in: path required: true schema: type: string - name: channel_id in: path required: true schema: type: string - name: message_id in: path required: true schema: type: string responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Office365__ChatMessage' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/tenants: get: summary: lists the configured tenants tags: - Tenants operationId: Tenants_index parameters: [] responses: 200: description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/PlaceOS__Model__Tenant__Responder' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: creates a new tenant tags: - Tenants operationId: Tenants_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Tenant__Responder' required: true parameters: [] responses: 201: description: Created content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Tenant__Responder' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/tenants/{id}: put: summary: patches an existing booking with the changes provided tags: - Tenants operationId: Tenants_update requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Tenant__Responder' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Tenant__Responder' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' delete: summary: removes the selected tenant from the system tags: - Tenants operationId: Tenants_destroy parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 202: description: Accepted 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' patch: summary: patches an existing booking with the changes provided tags: - Tenants operationId: Tenants_update{2} requestBody: content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Tenant__Responder' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/PlaceOS__Model__Tenant__Responder' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/tenants/current_limits: get: summary: returns the limits for the current domain (Host header) tags: - Tenants operationId: Tenants_current_limits parameters: [] responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Hash_String__Int32_' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/tenants/{id}/limits: get: summary: returns the limits for the selected tenant tags: - Tenants operationId: Tenants_show_limits parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Hash_String__Int32_' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: updates the limits for the tenant provided tags: - Tenants operationId: Tenants_update_limits requestBody: content: application/json: schema: $ref: '#/components/schemas/Hash_String__Int32_' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Hash_String__Int32_' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/tenants/current_early_checkin: get: summary: returns the early checkin limit for the current domain (Host header) tags: - Tenants operationId: Tenants_current_early_checkin parameters: [] responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Int64' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' /api/staff/v1/tenants/{id}/early_checkin: get: summary: returns the early checkin limit for the selected tenant tags: - Tenants operationId: Tenants_show_early_checkin parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Int64' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' post: summary: updates the early checkin limit for the tenant provided tags: - Tenants operationId: Tenants_update_early_checkin requestBody: content: application/json: schema: $ref: '#/components/schemas/Int64' required: true parameters: - name: id in: path required: true schema: type: integer format: Int64 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/Int64' 429: description: Too Many Requests content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 403: description: Forbidden 404: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 511: description: Network Authentication Required content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 406: description: Not Acceptable content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 415: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Application__ContentError' 422: description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Application__ValidationError' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' 405: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Application__CommonError' components: schemas: PlaceOS__Model__Booking: type: object properties: booking_type: type: string nullable: true booking_start: type: integer format: Int64 nullable: true booking_end: type: integer format: Int64 nullable: true timezone: type: string nullable: true asset_id: type: string nullable: true user_id: type: string nullable: true user_email: type: string format: email nullable: true user_name: type: string nullable: true zones: type: array items: type: string nullable: true process_state: type: string nullable: true last_changed: type: integer format: Int64 nullable: true approved: type: boolean nullable: true approved_at: type: integer format: Int64 nullable: true rejected: type: boolean nullable: true rejected_at: type: integer format: Int64 nullable: true approver_id: type: string nullable: true approver_name: type: string nullable: true approver_email: type: string format: email nullable: true department: type: string nullable: true title: type: string nullable: true checked_in: type: boolean nullable: true checked_in_at: type: integer format: Int64 nullable: true checked_out_at: type: integer format: Int64 nullable: true description: type: string nullable: true deleted: type: boolean nullable: true deleted_at: type: integer format: Int64 nullable: true booked_by_email: type: string format: email nullable: true booked_by_name: type: string nullable: true booked_from: type: string nullable: true extension_data: type: object nullable: true history: type: array items: type: object properties: state: type: string enum: - reserved - checked_in - checked_out - no_show - rejected - cancelled - ended - unknown time: type: integer format: Int64 source: type: string nullable: true required: - state - time nullable: true parent_id: type: integer format: Int64 nullable: true event_id: type: integer format: Int64 description: provided if this booking is associated with a calendar event nullable: true instance: type: integer format: Int64 description: provided when this booking is an instance of recurring booking nullable: true attendees: type: array items: type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email nullable: true asset_ids: type: array items: type: string nullable: true images: type: array items: type: string nullable: true induction: type: string enum: - tentative - accepted - declined description: The induction status of the booking. Defaults to TENTATIVE. nullable: true permission: type: string enum: - private - open - public description: The permission level for the booking. Defaults to private. If set to private, attendees must be invited.If set to open, users in the same tenant can join. If set to public, the booking is open for everyone to join. nullable: true recurrence_type: type: string enum: - none - daily - weekly - monthly description: Is this a recurring booking. This field defines the type of recurrence nullable: true recurrence_days: type: integer format: Int32 description: a bitmap of valid days of the week for booking recurrences to land on, defaults to all days of the week nullable: true recurrence_nth_of_month: type: integer format: Int32 description: which day index should a monthly recurrence land on. 1st Monday, 2nd Monday (used in conjunction with the days bitmap). -1 == last Monday, -2 Second last Monday etc nullable: true recurrence_interval: type: integer format: Int32 description: 1 == every occurrence, 2 == every second occurrence, etc nullable: true recurrence_end: type: integer format: Int64 description: an optional end date for booking recurrences nullable: true all_day: type: boolean nullable: true tenant_id: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true String: type: string _Array_NamedTuple_asset_id__String__booking_start__Int64__booking_end__Int64_____Array_String__: type: array Hash_String__JSON__Any_: type: object additionalProperties: type: object PlaceOS__Model__Guest: type: object properties: email: type: string format: email nullable: true name: type: string nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true notes: type: string nullable: true photo: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true searchable: type: string nullable: true extension_data: type: object nullable: true tenant_id: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true PlaceCalendar__Event__Attendee: type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email PlaceOS__Model__Attendee: type: object properties: checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true guest_id: type: integer format: Int64 nullable: true tenant_id: type: integer format: Int64 nullable: true event_id: type: integer format: Int64 nullable: true booking_id: type: integer format: Int64 nullable: true email: type: string nullable: true name: type: string nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true notes: type: string nullable: true photo: type: string nullable: true event: type: object properties: event_start: type: integer format: Int64 event_end: type: integer format: Int64 nullable: true id: type: string nullable: true recurring_event_id: type: string nullable: true host: type: string nullable: true title: type: string nullable: true body: type: string nullable: true attendees: type: array items: type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email hide_attendees: type: boolean location: type: string nullable: true private: type: boolean all_day: type: boolean timezone: type: string nullable: true recurring: type: boolean nullable: true created: type: string format: date-time nullable: true updated: type: string format: date-time nullable: true attachments: type: array items: type: object properties: id: type: string nullable: true name: type: string content_type: type: string nullable: true content_bytes: type: string size: type: integer format: Int32 nullable: true required: - name - content_bytes recurrence: type: object properties: range_start: type: integer format: Int64 range_end: type: integer format: Int64 interval: type: integer format: Int32 pattern: type: string days_of_week: type: array items: type: string nullable: true required: - range_start - range_end - interval - pattern nullable: true status: type: string nullable: true creator: type: string nullable: true ical_uid: type: string nullable: true online_meeting_provider: type: string nullable: true online_meeting_phones: type: array items: type: string nullable: true online_meeting_url: type: string nullable: true online_meeting_sip: type: string nullable: true online_meeting_pin: type: string nullable: true online_meeting_id: type: string nullable: true extended_properties: type: object additionalProperties: type: string nullable: true nullable: true visibility: type: string enum: - normal - personal - public - private - confidential nullable: true mailbox: type: string nullable: true calendar: type: string nullable: true system_id: type: string nullable: true system: anyOf: - type: object properties: id: type: string required: - id - type: object properties: created_at: type: string format: date-time updated_at: type: string format: date-time id: type: string name: type: string zones: type: array items: type: string modules: type: array items: type: string description: type: string nullable: true email: type: string nullable: true display_name: type: string nullable: true timezone: type: string nullable: true code: type: string nullable: true type: type: string nullable: true map_id: type: string nullable: true images: type: array items: type: string nullable: true capacity: type: integer format: Int32 features: type: array items: type: string bookable: type: boolean public: type: boolean nullable: true installed_ui_devices: type: integer format: Int32 support_url: type: string nullable: true version: type: integer format: Int32 required: - created_at - updated_at - id - name - zones - modules - capacity - features - bookable - installed_ui_devices - version nullable: true extension_data: type: object nullable: true recurring_master_id: type: string nullable: true setup_time: type: integer format: Int64 nullable: true breakdown_time: type: integer format: Int64 nullable: true setup_event_id: type: string nullable: true breakdown_event_id: type: string nullable: true permission: type: string enum: - private - open - public nullable: true required: - event_start - attendees - hide_attendees - private - all_day - attachments nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true PlaceCalendar__Calendar: type: object properties: id: type: string nullable: true ref: type: string nullable: true summary: type: string primary: type: boolean can_edit: type: boolean nullable: true required: - summary - primary Calendars__Availability: type: object properties: id: type: string system: type: object properties: created_at: type: string format: date-time updated_at: type: string format: date-time id: type: string name: type: string zones: type: array items: type: string modules: type: array items: type: string description: type: string nullable: true email: type: string nullable: true display_name: type: string nullable: true timezone: type: string nullable: true code: type: string nullable: true type: type: string nullable: true map_id: type: string nullable: true images: type: array items: type: string nullable: true capacity: type: integer format: Int32 features: type: array items: type: string bookable: type: boolean public: type: boolean nullable: true installed_ui_devices: type: integer format: Int32 support_url: type: string nullable: true version: type: integer format: Int32 required: - created_at - updated_at - id - name - zones - modules - capacity - features - bookable - installed_ui_devices - version nullable: true availability: type: array items: type: object properties: status: type: string enum: - busy - free starts_at: type: integer format: Int64 ends_at: type: integer format: Int64 timezone: type: string required: - status - starts_at - ends_at - timezone nullable: true required: - id PlaceCalendar__Event: type: object properties: event_start: type: integer format: Int64 event_end: type: integer format: Int64 nullable: true id: type: string nullable: true recurring_event_id: type: string nullable: true host: type: string nullable: true title: type: string nullable: true body: type: string nullable: true attendees: type: array items: type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email hide_attendees: type: boolean location: type: string nullable: true private: type: boolean all_day: type: boolean timezone: type: string nullable: true recurring: type: boolean nullable: true created: type: string format: date-time nullable: true updated: type: string format: date-time nullable: true attachments: type: array items: type: object properties: id: type: string nullable: true name: type: string content_type: type: string nullable: true content_bytes: type: string size: type: integer format: Int32 nullable: true required: - name - content_bytes recurrence: type: object properties: range_start: type: integer format: Int64 range_end: type: integer format: Int64 interval: type: integer format: Int32 pattern: type: string days_of_week: type: array items: type: string nullable: true required: - range_start - range_end - interval - pattern nullable: true status: type: string nullable: true creator: type: string nullable: true ical_uid: type: string nullable: true online_meeting_provider: type: string nullable: true online_meeting_phones: type: array items: type: string nullable: true online_meeting_url: type: string nullable: true online_meeting_sip: type: string nullable: true online_meeting_pin: type: string nullable: true online_meeting_id: type: string nullable: true extended_properties: type: object additionalProperties: type: string nullable: true nullable: true visibility: type: string enum: - normal - personal - public - private - confidential nullable: true mailbox: type: string nullable: true calendar: type: string nullable: true system_id: type: string nullable: true system: anyOf: - type: object properties: id: type: string required: - id - type: object properties: created_at: type: string format: date-time updated_at: type: string format: date-time id: type: string name: type: string zones: type: array items: type: string modules: type: array items: type: string description: type: string nullable: true email: type: string nullable: true display_name: type: string nullable: true timezone: type: string nullable: true code: type: string nullable: true type: type: string nullable: true map_id: type: string nullable: true images: type: array items: type: string nullable: true capacity: type: integer format: Int32 features: type: array items: type: string bookable: type: boolean public: type: boolean nullable: true installed_ui_devices: type: integer format: Int32 support_url: type: string nullable: true version: type: integer format: Int32 required: - created_at - updated_at - id - name - zones - modules - capacity - features - bookable - installed_ui_devices - version nullable: true extension_data: type: object nullable: true recurring_master_id: type: string nullable: true setup_time: type: integer format: Int64 nullable: true breakdown_time: type: integer format: Int64 nullable: true setup_event_id: type: string nullable: true breakdown_event_id: type: string nullable: true permission: type: string enum: - private - open - public nullable: true required: - event_start - attendees - hide_attendees - private - all_day - attachments PlaceOS__Model__History: type: object properties: created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true type: type: string nullable: true resource_id: type: string nullable: true action: type: string nullable: true changed_fields: type: array items: type: string nullable: true id: type: string nullable: true _PlaceCalendar__Event__Attendee___PlaceOS__Model__Attendee_: anyOf: - type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email - type: object properties: checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true guest_id: type: integer format: Int64 nullable: true tenant_id: type: integer format: Int64 nullable: true event_id: type: integer format: Int64 nullable: true booking_id: type: integer format: Int64 nullable: true email: type: string nullable: true name: type: string nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true notes: type: string nullable: true photo: type: string nullable: true event: type: object properties: event_start: type: integer format: Int64 event_end: type: integer format: Int64 nullable: true id: type: string nullable: true recurring_event_id: type: string nullable: true host: type: string nullable: true title: type: string nullable: true body: type: string nullable: true attendees: type: array items: type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email hide_attendees: type: boolean location: type: string nullable: true private: type: boolean all_day: type: boolean timezone: type: string nullable: true recurring: type: boolean nullable: true created: type: string format: date-time nullable: true updated: type: string format: date-time nullable: true attachments: type: array items: type: object properties: id: type: string nullable: true name: type: string content_type: type: string nullable: true content_bytes: type: string size: type: integer format: Int32 nullable: true required: - name - content_bytes recurrence: type: object properties: range_start: type: integer format: Int64 range_end: type: integer format: Int64 interval: type: integer format: Int32 pattern: type: string days_of_week: type: array items: type: string nullable: true required: - range_start - range_end - interval - pattern nullable: true status: type: string nullable: true creator: type: string nullable: true ical_uid: type: string nullable: true online_meeting_provider: type: string nullable: true online_meeting_phones: type: array items: type: string nullable: true online_meeting_url: type: string nullable: true online_meeting_sip: type: string nullable: true online_meeting_pin: type: string nullable: true online_meeting_id: type: string nullable: true extended_properties: type: object additionalProperties: type: string nullable: true nullable: true visibility: type: string enum: - normal - personal - public - private - confidential nullable: true mailbox: type: string nullable: true calendar: type: string nullable: true system_id: type: string nullable: true system: anyOf: - type: object properties: id: type: string required: - id - type: object properties: created_at: type: string format: date-time updated_at: type: string format: date-time id: type: string name: type: string zones: type: array items: type: string modules: type: array items: type: string description: type: string nullable: true email: type: string nullable: true display_name: type: string nullable: true timezone: type: string nullable: true code: type: string nullable: true type: type: string nullable: true map_id: type: string nullable: true images: type: array items: type: string nullable: true capacity: type: integer format: Int32 features: type: array items: type: string bookable: type: boolean public: type: boolean nullable: true installed_ui_devices: type: integer format: Int32 support_url: type: string nullable: true version: type: integer format: Int32 required: - created_at - updated_at - id - name - zones - modules - capacity - features - bookable - installed_ui_devices - version nullable: true extension_data: type: object nullable: true recurring_master_id: type: string nullable: true setup_time: type: integer format: Int64 nullable: true breakdown_time: type: integer format: Int64 nullable: true setup_event_id: type: string nullable: true breakdown_event_id: type: string nullable: true permission: type: string enum: - private - open - public nullable: true required: - event_start - attendees - hide_attendees - private - all_day - attachments nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true JSON__Any: type: object _PlaceCalendar__Event___Nil_: type: object properties: event_start: type: integer format: Int64 event_end: type: integer format: Int64 nullable: true id: type: string nullable: true recurring_event_id: type: string nullable: true host: type: string nullable: true title: type: string nullable: true body: type: string nullable: true attendees: type: array items: type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email hide_attendees: type: boolean location: type: string nullable: true private: type: boolean all_day: type: boolean timezone: type: string nullable: true recurring: type: boolean nullable: true created: type: string format: date-time nullable: true updated: type: string format: date-time nullable: true attachments: type: array items: type: object properties: id: type: string nullable: true name: type: string content_type: type: string nullable: true content_bytes: type: string size: type: integer format: Int32 nullable: true required: - name - content_bytes recurrence: type: object properties: range_start: type: integer format: Int64 range_end: type: integer format: Int64 interval: type: integer format: Int32 pattern: type: string days_of_week: type: array items: type: string nullable: true required: - range_start - range_end - interval - pattern nullable: true status: type: string nullable: true creator: type: string nullable: true ical_uid: type: string nullable: true online_meeting_provider: type: string nullable: true online_meeting_phones: type: array items: type: string nullable: true online_meeting_url: type: string nullable: true online_meeting_sip: type: string nullable: true online_meeting_pin: type: string nullable: true online_meeting_id: type: string nullable: true extended_properties: type: object additionalProperties: type: string nullable: true nullable: true visibility: type: string enum: - normal - personal - public - private - confidential nullable: true mailbox: type: string nullable: true calendar: type: string nullable: true system_id: type: string nullable: true system: anyOf: - type: object properties: id: type: string required: - id - type: object properties: created_at: type: string format: date-time updated_at: type: string format: date-time id: type: string name: type: string zones: type: array items: type: string modules: type: array items: type: string description: type: string nullable: true email: type: string nullable: true display_name: type: string nullable: true timezone: type: string nullable: true code: type: string nullable: true type: type: string nullable: true map_id: type: string nullable: true images: type: array items: type: string nullable: true capacity: type: integer format: Int32 features: type: array items: type: string bookable: type: boolean public: type: boolean nullable: true installed_ui_devices: type: integer format: Int32 support_url: type: string nullable: true version: type: integer format: Int32 required: - created_at - updated_at - id - name - zones - modules - capacity - features - bookable - installed_ui_devices - version nullable: true extension_data: type: object nullable: true recurring_master_id: type: string nullable: true setup_time: type: integer format: Int64 nullable: true breakdown_time: type: integer format: Int64 nullable: true setup_event_id: type: string nullable: true breakdown_event_id: type: string nullable: true permission: type: string enum: - private - open - public nullable: true required: - event_start - attendees - hide_attendees - private - all_day - attachments nullable: true Bool: type: boolean PlaceOS__Model__EventMetadata: type: object properties: system_id: type: string nullable: true event_id: type: string nullable: true recurring_master_id: type: string nullable: true ical_uid: type: string nullable: true resource_master_id: type: string nullable: true host_email: type: string nullable: true resource_calendar: type: string nullable: true event_start: type: integer format: Int64 nullable: true event_end: type: integer format: Int64 nullable: true cancelled: type: boolean nullable: true ext_data: type: object nullable: true setup_time: type: integer format: Int64 nullable: true breakdown_time: type: integer format: Int64 nullable: true setup_event_id: type: string nullable: true breakdown_event_id: type: string nullable: true permission: type: string enum: - private - open - public description: The permission level for the event. Defaults to private. If set to private, attendees must be invited.If set to open, users in the same tenant can join. If set to public, the event is open for everyone to join. nullable: true tenant_id: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true PlaceCalendar__Group: type: object properties: id: type: string name: type: string email: type: string nullable: true description: type: string nullable: true required: - id - name PlaceCalendar__Member: type: object properties: id: type: string name: type: string nullable: true email: type: string phone: type: string nullable: true username: type: string suspended: type: boolean nullable: true unmapped: type: object additionalProperties: type: object nullable: true required: - id - email - username HealthCheck__BuildInfo: type: object properties: commit: type: string build_time: type: string required: - commit - build_time Office365__Room: type: object properties: address: type: object properties: city: type: string nullable: true state: type: string nullable: true street: type: string nullable: true countryOrRegion: type: string nullable: true postalCode: type: string nullable: true nullable: true displayName: type: string geoCoordinates: type: object properties: altitudeAccuracy: type: number format: Float64 nullable: true accuracy: type: number format: Float64 nullable: true altitude: type: number format: Float64 nullable: true latitude: type: number format: Float64 nullable: true longitude: type: number format: Float64 nullable: true nullable: true id: type: string phone: type: string nullable: true audioDeviceName: type: string nullable: true bookingType: type: string enum: - reserved - standard nullable: true building: type: string nullable: true capacity: type: integer format: Int32 nullable: true displayDeviceName: type: string nullable: true emailAddress: type: string nullable: true floorLabel: type: string nullable: true floorNumber: type: integer format: Int32 nullable: true isWheelChairAccessible: type: boolean nullable: true label: type: string nullable: true nickname: type: string nullable: true tags: type: array items: type: string nullable: true videoDeviceName: type: string nullable: true required: - displayName - id PlaceCalendar__User: type: object properties: id: type: string nullable: true name: type: string nullable: true email: type: string nullable: true phone: type: string nullable: true department: type: string nullable: true title: type: string nullable: true photo: type: string nullable: true username: type: string nullable: true office_location: type: string nullable: true suspended: type: boolean nullable: true unmapped: type: object additionalProperties: type: object nullable: true PlaceOS__Model__Survey: type: object properties: title: type: string nullable: true description: type: string nullable: true trigger: type: string enum: - none - reserved - checkedin - checkedout - noshow - rejected - cancelled - ended - visitor_checkedin - visitor_checkedout description: 'Triggers on booking states: RESERVED, CHECKEDIN, CHECKEDOUT, REJECTED, CANCELLED, VISITOR_CHECKEDIN, VISITOR_CHECKEDOUT' nullable: true zone_id: type: string nullable: true building_id: type: string nullable: true pages: type: array items: type: object properties: title: type: string description: type: string nullable: true question_order: type: array items: type: integer format: Int64 required: - title - question_order nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true PlaceOS__Model__Survey__Answer: type: object properties: type: type: string nullable: true answer_json: type: object nullable: true question_id: type: integer format: Int64 nullable: true survey_id: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true Array_PlaceOS__Model__Survey__Answer_: type: array items: type: object properties: type: type: string nullable: true answer_json: type: object nullable: true question_id: type: integer format: Int64 nullable: true survey_id: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true PlaceOS__Model__Survey__Invitation: type: object properties: token: type: string nullable: true email: type: string nullable: true sent: type: boolean nullable: true survey_id: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true PlaceOS__Model__Survey__Question: type: object properties: title: type: string nullable: true description: type: string nullable: true type: type: string nullable: true options: type: object nullable: true required: type: boolean nullable: true choices: type: object nullable: true max_rating: type: integer format: Int32 nullable: true tags: type: array items: type: string nullable: true deleted_at: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true Office365__ChatMessageList: type: object properties: '@odata.context': type: string '@odata.count': type: integer format: Int32 '@odata.nextLink': type: string nullable: true value: type: array items: type: object properties: attachments: type: array items: type: object properties: id: type: string name: type: string nullable: true content: type: string nullable: true contentType: type: string nullable: true contentUrl: type: string nullable: true teamsAppId: type: string nullable: true thumbnailUrl: type: string nullable: true required: - id nullable: true body: type: object properties: content: type: string nullable: true contentType: type: string nullable: true chatId: type: string nullable: true channelIdentity: type: object properties: channelId: type: string teamId: type: string required: - channelId - teamId nullable: true createdDateTime: type: string format: date-time nullable: true deletedDateTime: type: string format: date-time nullable: true etag: type: string nullable: true from: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true userIdentityType: type: string nullable: true required: - id nullable: true nullable: true id: type: string nullable: true importance: type: string nullable: true lastModifiedDateTime: type: string format: date-time nullable: true lastEditedDateTime: type: string format: date-time nullable: true locale: type: string nullable: true mentions: type: array items: type: object properties: id: type: integer format: Int32 nullable: true mentioned: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true conversation: type: object properties: id: type: string displayName: type: string nullable: true conversationIdentityType: type: string nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true nullable: true mentionText: type: string nullable: true nullable: true messageHistory: type: array items: type: object properties: actions: type: string enum: - reaction_added - reaction_removed - action_undefined - unknown_future_value modifiedDateTime: type: string format: date-time nullable: true reaction: type: object properties: createdDateTime: type: string nullable: true displayName: type: string nullable: true reactionContentUrl: type: string nullable: true reactionType: type: string nullable: true user: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true nullable: true nullable: true required: - actions nullable: true messageType: type: string enum: - message - chat_event - typing - unknown_future_value - system_event_message nullable: true policyViolation: type: object properties: dlpAction: type: string enum: - none - notify_sender - block_access - block_access_external nullable: true justificationText: type: string nullable: true policyTip: type: object properties: complianceUrl: type: string nullable: true generalText: type: string nullable: true matchedConditionDescriptions: type: array items: type: string nullable: true nullable: true userAction: type: string enum: - none - notify_sender - block_access - block_access_external nullable: true verdictDetails: type: string enum: - none - notify_sender - block_access - block_access_external nullable: true nullable: true reactions: type: array items: type: object properties: createdDateTime: type: string nullable: true displayName: type: string nullable: true reactionContentUrl: type: string nullable: true reactionType: type: string nullable: true user: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true nullable: true nullable: true replyToId: type: string nullable: true subject: type: string nullable: true summary: type: string nullable: true webUrl: type: string nullable: true required: - body required: - '@odata.context' - '@odata.count' - value Office365__ChatMessage: type: object properties: attachments: type: array items: type: object properties: id: type: string name: type: string nullable: true content: type: string nullable: true contentType: type: string nullable: true contentUrl: type: string nullable: true teamsAppId: type: string nullable: true thumbnailUrl: type: string nullable: true required: - id nullable: true body: type: object properties: content: type: string nullable: true contentType: type: string nullable: true chatId: type: string nullable: true channelIdentity: type: object properties: channelId: type: string teamId: type: string required: - channelId - teamId nullable: true createdDateTime: type: string format: date-time nullable: true deletedDateTime: type: string format: date-time nullable: true etag: type: string nullable: true from: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true userIdentityType: type: string nullable: true required: - id nullable: true nullable: true id: type: string nullable: true importance: type: string nullable: true lastModifiedDateTime: type: string format: date-time nullable: true lastEditedDateTime: type: string format: date-time nullable: true locale: type: string nullable: true mentions: type: array items: type: object properties: id: type: integer format: Int32 nullable: true mentioned: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true conversation: type: object properties: id: type: string displayName: type: string nullable: true conversationIdentityType: type: string nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true nullable: true mentionText: type: string nullable: true nullable: true messageHistory: type: array items: type: object properties: actions: type: string enum: - reaction_added - reaction_removed - action_undefined - unknown_future_value modifiedDateTime: type: string format: date-time nullable: true reaction: type: object properties: createdDateTime: type: string nullable: true displayName: type: string nullable: true reactionContentUrl: type: string nullable: true reactionType: type: string nullable: true user: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true nullable: true nullable: true required: - actions nullable: true messageType: type: string enum: - message - chat_event - typing - unknown_future_value - system_event_message nullable: true policyViolation: type: object properties: dlpAction: type: string enum: - none - notify_sender - block_access - block_access_external nullable: true justificationText: type: string nullable: true policyTip: type: object properties: complianceUrl: type: string nullable: true generalText: type: string nullable: true matchedConditionDescriptions: type: array items: type: string nullable: true nullable: true userAction: type: string enum: - none - notify_sender - block_access - block_access_external nullable: true verdictDetails: type: string enum: - none - notify_sender - block_access - block_access_external nullable: true nullable: true reactions: type: array items: type: object properties: createdDateTime: type: string nullable: true displayName: type: string nullable: true reactionContentUrl: type: string nullable: true reactionType: type: string nullable: true user: type: object properties: application: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true device: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true user: type: object properties: id: type: string displayName: type: string nullable: true tenantId: type: string nullable: true thumbnails: type: object properties: id: type: string nullable: true large: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true medium: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true small: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true source: type: object properties: height: type: integer format: Int32 nullable: true width: type: integer format: Int32 nullable: true content: type: string nullable: true url: type: string nullable: true sourceItemId: type: string nullable: true nullable: true nullable: true required: - id nullable: true nullable: true nullable: true replyToId: type: string nullable: true subject: type: string nullable: true summary: type: string nullable: true webUrl: type: string nullable: true required: - body PlaceOS__Model__Tenant__Responder: type: object properties: id: type: integer format: Int64 nullable: true name: type: string nullable: true domain: type: string nullable: true email_domain: type: string nullable: true platform: type: string nullable: true delegated: type: boolean nullable: true service_account: type: string nullable: true credentials: type: object nullable: true booking_limits: type: object nullable: true outlook_config: type: object properties: app_id: type: string base_path: type: string nullable: true app_domain: type: string nullable: true app_resource: type: string nullable: true source_location: type: string nullable: true version: type: string nullable: true required: - app_id nullable: true early_checkin: type: integer format: Int64 nullable: true Hash_String__Int32_: type: object additionalProperties: type: integer format: Int32 Int64: type: integer format: Int64 Application__CommonError: type: object properties: error: type: string backtrace: type: array items: type: string nullable: true required: - error description: generic error feedback, backtraces only provided in development Application__ContentError: type: object properties: error: type: string accepts: type: array items: type: string nullable: true required: - error description: provides a list of acceptable content types if an unknown one is requested Application__ParameterError: type: object properties: error: type: string parameter: type: string nullable: true restriction: type: string nullable: true required: - error description: Provides details on which parameter is missing or invalid Application__ValidationError: type: object properties: error: type: string failures: type: array items: type: object properties: field: type: string nullable: true reason: type: string required: - reason required: - error - failures Bookings__BookingError: type: object properties: error: type: string limit: type: integer format: Int32 nullable: true bookings: type: array items: type: object properties: booking_type: type: string nullable: true booking_start: type: integer format: Int64 nullable: true booking_end: type: integer format: Int64 nullable: true timezone: type: string nullable: true asset_id: type: string nullable: true user_id: type: string nullable: true user_email: type: string format: email nullable: true user_name: type: string nullable: true zones: type: array items: type: string nullable: true process_state: type: string nullable: true last_changed: type: integer format: Int64 nullable: true approved: type: boolean nullable: true approved_at: type: integer format: Int64 nullable: true rejected: type: boolean nullable: true rejected_at: type: integer format: Int64 nullable: true approver_id: type: string nullable: true approver_name: type: string nullable: true approver_email: type: string format: email nullable: true department: type: string nullable: true title: type: string nullable: true checked_in: type: boolean nullable: true checked_in_at: type: integer format: Int64 nullable: true checked_out_at: type: integer format: Int64 nullable: true description: type: string nullable: true deleted: type: boolean nullable: true deleted_at: type: integer format: Int64 nullable: true booked_by_email: type: string format: email nullable: true booked_by_name: type: string nullable: true booked_from: type: string nullable: true extension_data: type: object nullable: true history: type: array items: type: object properties: state: type: string enum: - reserved - checked_in - checked_out - no_show - rejected - cancelled - ended - unknown time: type: integer format: Int64 source: type: string nullable: true required: - state - time nullable: true parent_id: type: integer format: Int64 nullable: true event_id: type: integer format: Int64 description: provided if this booking is associated with a calendar event nullable: true instance: type: integer format: Int64 description: provided when this booking is an instance of recurring booking nullable: true attendees: type: array items: type: object properties: name: type: string email: type: string response_status: type: string nullable: true resource: type: boolean nullable: true organizer: type: boolean nullable: true checked_in: type: boolean nullable: true visit_expected: type: boolean nullable: true extension_data: type: object nullable: true preferred_name: type: string nullable: true phone: type: string nullable: true organisation: type: string nullable: true photo: type: string nullable: true notes: type: string nullable: true banned: type: boolean nullable: true dangerous: type: boolean nullable: true required: - name - email nullable: true asset_ids: type: array items: type: string nullable: true images: type: array items: type: string nullable: true induction: type: string enum: - tentative - accepted - declined description: The induction status of the booking. Defaults to TENTATIVE. nullable: true permission: type: string enum: - private - open - public description: The permission level for the booking. Defaults to private. If set to private, attendees must be invited.If set to open, users in the same tenant can join. If set to public, the booking is open for everyone to join. nullable: true recurrence_type: type: string enum: - none - daily - weekly - monthly description: Is this a recurring booking. This field defines the type of recurrence nullable: true recurrence_days: type: integer format: Int32 description: a bitmap of valid days of the week for booking recurrences to land on, defaults to all days of the week nullable: true recurrence_nth_of_month: type: integer format: Int32 description: which day index should a monthly recurrence land on. 1st Monday, 2nd Monday (used in conjunction with the days bitmap). -1 == last Monday, -2 Second last Monday etc nullable: true recurrence_interval: type: integer format: Int32 description: 1 == every occurrence, 2 == every second occurrence, etc nullable: true recurrence_end: type: integer format: Int64 description: an optional end date for booking recurrences nullable: true all_day: type: boolean nullable: true tenant_id: type: integer format: Int64 nullable: true id: type: integer format: Int64 nullable: true created_at: type: integer format: Int64 nullable: true updated_at: type: integer format: Int64 nullable: true nullable: true required: - error description: returned when there is a booking clash or limit reached