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