openapi: 3.0.3 info: title: Revel Open Customers Scheduling API description: 'The Revel Open API is the REST interface for the Revel Systems cloud iPad point-of-sale platform for restaurants and retailers. It exposes core POS resources such as orders, order items, products, product modifiers, customers, establishments, employees, and labor-scheduling records. The API is built on Django Tastypie conventions: list responses return an `objects` array alongside a `meta` pagination envelope, and filtering uses Django field-lookup syntax (e.g. `id__lt`, `created_date__range`, `name__icontains`). Each Revel customer is served from a dedicated subdomain (`https://{subdomain}.revelup.com/resources/`); a shared sandbox is hosted at `https://api-sandbox-revel.revelup.com/resources/`.' version: 2025.3.0 contact: name: Revel Systems Developer Support url: https://developer.revelsystems.com/ x-generated-from: documentation x-source-url: https://developer.revelsystems.com/revelsystems/reference/welcome x-last-validated: '2026-06-03' servers: - url: https://{subdomain}.revelup.com/resources description: Production REST endpoint (per Revel establishment subdomain) variables: subdomain: default: yoursubdomain description: The customer's Revel subdomain - url: https://api-sandbox-revel.revelup.com/resources description: Shared sandbox REST endpoint security: - apiAuthentication: [] tags: - name: Scheduling description: Labor scheduling and timesheet resources. paths: /TimeSchedule/: get: operationId: getTimeSchedules summary: Get Time Schedules description: Returns the list of TimeSchedule objects representing scheduled employee shifts within an establishment. tags: - Scheduling parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/fields' - name: establishment in: query schema: type: integer example: 1 responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/TimeScheduleList' examples: GetTimeSchedules200Example: summary: Default getTimeSchedules 200 response x-microcks-default: true value: meta: total_count: 42 limit: 42 offset: 42 next: example previous: example objects: - id: 1 establishment: 1 employee: 1 role: 42 wage: 1.0 start_time: '2026-06-01T12:00:00Z' end_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createTimeSchedule summary: Create Time Schedule description: Creates a new TimeSchedule (employee shift) object. tags: - Scheduling requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TimeSchedule' examples: CreateTimeScheduleRequestExample: summary: Default createTimeSchedule request x-microcks-default: true value: id: 1 establishment: 1 employee: 1 role: 42 wage: 1.0 start_time: '2026-06-01T12:00:00Z' end_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ responses: '201': description: Time schedule created content: application/json: schema: $ref: '#/components/schemas/TimeSchedule' examples: CreateTimeSchedule201Example: summary: Default createTimeSchedule 201 response x-microcks-default: true value: id: 1 establishment: 1 employee: 1 role: 42 wage: 1.0 start_time: '2026-06-01T12:00:00Z' end_time: '2026-06-01T12:00:00Z' created_date: '2026-06-01T12:00:00Z' updated_date: '2026-06-01T12:00:00Z' resource_uri: /resources/Resource/1/ '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: parameters: fields: name: fields in: query description: Comma-separated list of direct resource attributes to return (e.g. `id,name,price`). schema: type: array items: type: string style: form explode: false offset: name: offset in: query description: Zero-based offset of the first object to return. schema: type: integer default: 0 limit: name: limit in: query description: Maximum number of objects to return per page. Use `0` to disable pagination. schema: type: integer default: 20 schemas: Meta: type: object description: Tastypie pagination envelope. properties: total_count: type: integer example: 142 limit: type: integer example: 20 offset: type: integer example: 0 next: type: string nullable: true example: /resources/Order/?limit=20&offset=20 previous: type: string nullable: true example: null TimeSchedule: type: object description: Represents a scheduled employee shift within an establishment. x-schema-source: documentation x-source-url: https://developer.revelsystems.com/revelsystems/reference/overview-2 properties: id: type: integer example: 1 establishment: type: integer example: 1 employee: type: integer description: Foreign key to the scheduled employee. example: 1 role: type: integer nullable: true example: 42 wage: type: number format: float nullable: true example: 1.0 start_time: type: string format: date-time example: '2026-06-01T12:00:00Z' end_time: type: string format: date-time example: '2026-06-01T12:00:00Z' created_date: type: string format: date-time example: '2026-06-01T12:00:00Z' updated_date: type: string format: date-time example: '2026-06-01T12:00:00Z' resource_uri: type: string example: /resources/Resource/1/ TimeScheduleList: type: object properties: meta: $ref: '#/components/schemas/Meta' objects: type: array items: $ref: '#/components/schemas/TimeSchedule' responses: Unauthorized: description: Authentication failed or was not provided. securitySchemes: apiAuthentication: type: apiKey in: header name: API-AUTHENTICATION description: 'API key and secret joined by a colon, e.g. `API-AUTHENTICATION: key:secret`. The key and secret may alternatively be passed as `api_key` and `api_secret` query parameters.'