--- 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" required: false schema: type: integer format: Int64 - name: period_end in: query description: booking period end as a unix epoch example: "1661743123" required: false schema: type: integer format: Int64 - name: type in: query description: the generic name of the asset whose bookings you wish to view example: desk required: false schema: type: string nullable: true - name: deleted in: query description: when true, it returns deleted bookings example: "true" required: false schema: type: boolean - name: include_checked_out in: query description: when true, returns all bookings including checked out ones example: "true" required: false schema: type: boolean - name: checked_out in: query description: when true, only returns checked out bookings, unless `include_checked_out=true` example: "true" required: false 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 required: false schema: type: string nullable: true - name: email in: query description: filters bookings owned by this user email example: user@org.com required: false schema: type: string nullable: true - name: user in: query description: filters bookings owned by this user id example: user-1234 required: false 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" required: false schema: type: boolean nullable: true - name: checked_in in: query description: filters bookings that have been checked in or not example: "true" required: false schema: type: boolean nullable: true - name: created_before in: query description: filters bookings that were created before the unix epoch specified example: "1661743123" required: false 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" required: false schema: type: integer format: Int64 nullable: true - name: approved in: query description: filters bookings that are approved or not example: "true" required: false schema: type: boolean nullable: true - name: rejected in: query description: filters bookings that are rejected or not example: "true" required: false 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}' required: false schema: type: string nullable: true - name: state in: query description: filters on the booking process state, a user defined value example: pending-approval required: false schema: type: string nullable: true - name: department in: query description: filters bookings owned by a department, a user defined value example: accounting required: false 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 required: false 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 required: false schema: type: string nullable: true - name: limit in: query description: the maximum number of results to return example: "10000" required: false schema: type: integer format: Int32 - name: offset in: query description: the starting offset of the result set. Used to implement pagination required: false 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' 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 required: false schema: type: string nullable: true - name: limit_override in: query description: allows a client to override any limits imposed on bookings example: "3" required: false 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 required: false 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 required: false 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/{id}: get: summary: returns the booking requested tags: - Bookings operationId: Bookings#show 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__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" required: false 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 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 required: false 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{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: limit_override in: query description: allows a client to override any limits imposed on bookings example: "3" required: false 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}/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 required: false 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 required: false 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" required: false schema: type: boolean - name: utm_source in: query description: provided for use with analytics example: mobile required: false 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: 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" required: false schema: type: boolean - name: utm_source in: query description: provided for use with analytics example: mobile required: false 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 required: false 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 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" required: 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' 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" required: 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' 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 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 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 required: false schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 required: false schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 required: false schema: type: string nullable: true - name: features in: query description: a comma seperated list of room features example: whiteboard,vidconf required: false schema: type: string nullable: true - name: capacity in: query example: "8" required: false schema: type: integer format: Int32 nullable: true - name: bookable in: query description: only search for bookable or non-bookable rooms example: "true" required: false 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 required: false schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 required: false schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 required: false schema: type: string nullable: true - name: features in: query description: a comma seperated list of room features example: whiteboard,vidconf required: false schema: type: string nullable: true - name: capacity in: query example: "8" required: false schema: type: integer format: Int32 nullable: true - name: bookable in: query description: only search for bookable or non-bookable rooms example: "true" required: false 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 required: false schema: type: string nullable: true - name: zone_ids in: query description: a comma seperated list of zone ids example: zone-123,zone-456 required: false schema: type: string nullable: true - name: system_ids in: query description: a comma seperated list of event spaces example: sys-1234,sys-5678 required: false schema: type: string nullable: true - name: include_cancelled in: query description: includes events that have been marked as cancelled example: "true" required: false schema: type: boolean - name: ical_uid in: query description: the ical uid of the event you are looking for example: sqvitruh3ho3mrq896tplad4v8 required: false schema: type: string nullable: true - name: filter in: query description: An optional advanced search filter using Azure AD filter syntax example: "" required: false 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 required: false 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/{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 required: false schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com required: false 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 required: false schema: type: string nullable: true - name: calendar in: query description: the calendar associated with this event id example: user@org.com required: false 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 required: false schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com required: false schema: type: string nullable: true - name: notify in: query description: set to `false` to prevent attendees being notified of the change example: "false" required: 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 required: false schema: type: string nullable: true - name: calendar in: query description: the calendar associated with this event id example: user@org.com required: false 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}/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}: 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/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 required: false schema: type: string nullable: true - name: ical_uid in: query description: an alternative lookup for finding event-metadata example: 5FC53010-1267-4F8E-BC28-1D7AE55A7C99 required: false schema: type: string nullable: true - name: setup_time in: query description: update event setup time example: "10" required: false schema: type: integer format: Int64 nullable: true - name: breakdown_time in: query description: update event breakdown time example: "10" required: false schema: type: integer format: Int64 nullable: true - name: setup_event_id in: query description: update setup event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: false schema: type: string nullable: true - name: breakdown_event_id in: query description: update breakdown event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: false 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/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 required: false schema: type: string nullable: true - name: ical_uid in: query description: an alternative lookup for finding event-metadata example: 5FC53010-1267-4F8E-BC28-1D7AE55A7C99 required: false schema: type: string nullable: true - name: setup_time in: query description: update event setup time example: "10" required: false schema: type: integer format: Int64 nullable: true - name: breakdown_time in: query description: update event breakdown time example: "10" required: false schema: type: integer format: Int64 nullable: true - name: setup_event_id in: query description: update setup event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: false schema: type: string nullable: true - name: breakdown_event_id in: query description: update breakdown event id example: AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZe required: false 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 required: false schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com required: false schema: type: string nullable: true - name: notify in: query description: set to `false` to prevent attendees being notified of the change example: "false" required: 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/{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 required: false schema: type: string nullable: true - name: field_name in: query description: the field we want to query example: status required: false schema: type: string nullable: true - name: value in: query description: value we want to match example: approved required: false schema: type: string nullable: true - name: period_start in: query description: event period start as a unix epoch example: "1661725146" required: false schema: type: integer format: Int64 nullable: true - name: period_end in: query description: event period end as a unix epoch example: "1661743123" required: false 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 required: false 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 required: false schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com required: false schema: type: string nullable: true - name: state in: query description: the checkin state, defaults to `true` example: "false" required: 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 required: false schema: type: string nullable: true - name: calendar in: query description: the users calendar associated with this event example: user@org.com required: false schema: type: string nullable: true - name: state in: query description: the checkin state, defaults to `true` example: "false" required: 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 required: false 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 required: false schema: type: string - name: period_start in: query description: event period start as a unix epoch example: "1661725146" required: false schema: type: integer format: Int64 nullable: true - name: period_end in: query description: event period end as a unix epoch example: "1661743123" required: false 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 required: false 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 required: false schema: type: string nullable: true - name: system_ids in: query description: '[deprecated] a comma seperated list of event spaces' example: sys-1234,sys-5678 required: false schema: type: string nullable: true - name: zones in: query description: a comma seperated list of zone ids for bookings example: zone-123,zone-456 required: false 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" required: false schema: type: boolean - name: limit in: query description: how many results to return example: "10" required: false 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" required: false schema: type: boolean - name: limit in: query description: how many results to return example: "10" required: false 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/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 required: false 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') required: false schema: type: string nullable: true - name: next_page in: query description: a google token or graph api URI representing the next page of results required: false 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}/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 required: false schema: type: string nullable: true - name: building_id in: query description: filters surveys by building_id example: building1234 required: false 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" required: false 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" required: false 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" required: false 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" required: false schema: type: integer format: Int64 nullable: true - name: sent in: query description: filter by sent status example: "false" required: 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" required: false schema: type: integer format: Int64 nullable: true - name: deleted in: query description: filter by soft-deleted example: "true" required: false 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/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' 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 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: boolean 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 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 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 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 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 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 required: - event_start - attendees - hide_attendees - private - all_day - attachments 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 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 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 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 username: type: string required: - id - email - username HealthCheck__BuildInfo: type: object properties: commit: type: string build_time: type: string required: - commit - build_time 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 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 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 Hash_String__Int32_: type: object additionalProperties: type: integer format: Int32 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 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: boolean 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 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