Restaurant365 Sales API

Sales ticket headers, detail, and payments

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

restaurant365-sales-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Restaurant365 OData Connector AP Invoices Sales API
  description: The Restaurant365 OData connector exposes R365 data to OData-compatible reporting and business-intelligence tools through read-only views for companies, locations, GL accounts, items, employees, labor, transactions, and sales. Authentication uses Domain\Username (the company subdomain and R365 username) with the R365 password. Most views support the standard OData query options $filter, $orderby, $select, $skip, and $top. Sales views (SalesEmployee, SalesDetail, SalesPayment) do not support $select or $count and are limited to a 31-day date range per request.
  version: v2
  contact:
    name: Kin Lane
    email: kin@apievangelist.com
  license:
    name: Proprietary
servers:
- url: https://odata.restaurant365.net/api/v2/views
  description: Restaurant365 OData v2 views endpoint
tags:
- name: Sales
  description: Sales ticket headers, detail, and payments
paths:
  /SalesEmployee:
    get:
      operationId: listSalesEmployee
      summary: List Sales Employee Tickets
      description: Retrieve sales ticket header data. This view does not support $select or $count and is limited to a 31-day date range per request.
      tags:
      - Sales
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/top'
      responses:
        '200':
          description: A collection of sales ticket headers
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SalesEmployee'
  /SalesDetail:
    get:
      operationId: listSalesDetail
      summary: List Sales Detail
      description: Retrieve sales ticket line items. This view does not support $select or $count and is limited to a 31-day date range per request.
      tags:
      - Sales
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/top'
      responses:
        '200':
          description: A collection of sales line items
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SalesDetail'
  /SalesPayment:
    get:
      operationId: listSalesPayment
      summary: List Sales Payments
      description: Retrieve sales payment data. This view does not support $select or $count and is limited to a 31-day date range per request.
      tags:
      - Sales
      security:
      - basicAuth: []
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/top'
      responses:
        '200':
          description: A collection of sales payments
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/SalesPayment'
components:
  schemas:
    SalesPayment:
      type: object
      properties:
        salespaymentId:
          type: string
          format: uuid
        name:
          type: string
        amount:
          type: number
        comment:
          type: string
        customerPOSText:
          type: string
        date:
          type: string
          format: date-time
        isException:
          type: boolean
        missingreceipt:
          type: boolean
        company:
          type: string
          format: uuid
        location:
          type: string
          format: uuid
        paymenttype:
          type: string
        paymentGroup:
          type: string
        salesID:
          type: string
          format: uuid
        houseAccountTransaction:
          type: string
          format: uuid
        transactionDetailID:
          type: string
          format: uuid
        cateringEvent:
          type: string
          format: uuid
        exclude:
          type: boolean
        dailySalesSummaryId:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        modifiedOn:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedBy:
          type: string
    SalesDetail:
      type: object
      properties:
        salesdetailID:
          type: string
          format: uuid
        menuitem:
          type: string
        amount:
          type: number
        customerPOSText:
          type: string
        date:
          type: string
          format: date-time
        quantity:
          type: number
        void:
          type: boolean
        company:
          type: string
          format: uuid
        location:
          type: string
          format: uuid
        salesID:
          type: string
          format: uuid
        salesAccount:
          type: string
        category:
          type: string
        houseAccountTransaction:
          type: string
          format: uuid
        transactionDetailID:
          type: string
          format: uuid
        cateringEvent:
          type: string
          format: uuid
        menuItemId:
          type: integer
          format: int64
        dailySalesSummaryId:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        modifiedOn:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedBy:
          type: string
    SalesEmployee:
      type: object
      properties:
        salesId:
          type: string
          format: uuid
        receiptNumber:
          type: string
        checkNumber:
          type: string
        comment:
          type: string
        date:
          type: string
          format: date-time
        dayOfWeek:
          type: string
        dayPart:
          type: string
        netSales:
          type: number
        grossSales:
          type: number
        numberofGuests:
          type: integer
        orderHour:
          type: integer
        salesAmount:
          type: number
        taxAmount:
          type: number
        tipAmount:
          type: number
        totalAmount:
          type: number
        totalPayment:
          type: number
        void:
          type: boolean
        server:
          type: string
        location:
          type: string
          format: uuid
        serviceType:
          type: string
        dailySalesSummaryId:
          type: string
          format: uuid
        createdOn:
          type: string
          format: date-time
        modifiedOn:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedBy:
          type: string
  parameters:
    filter:
      name: $filter
      in: query
      required: false
      description: Boolean expression used to filter results
      schema:
        type: string
    skip:
      name: $skip
      in: query
      required: false
      description: Number of results to skip
      schema:
        type: integer
    orderby:
      name: $orderby
      in: query
      required: false
      description: Property to sort by; append desc for descending order
      schema:
        type: string
    top:
      name: $top
      in: query
      required: false
      description: Maximum number of results to return
      schema:
        type: integer
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Domain\Username with R365 password