Restaurant365 provides an OData connector that you can use to access your Restaurant365 data from within your OData reporting provider. These endpoints provide near real time data (within seconds) on transactions rather, than previous day data.
Note: Sales and labor data captured by intraday polling is not available via OData. Sales and labor data is only available upon polling of the Daily Sales Summary.
The following providers can be used with the R365 OData Connector:
You can connect to the R365 OData Connector using your R365 User profile. If you receive an authentication error when you attempt to login, please reach out to R365 Support in order to start or troubleshoot the connection process.
This article reviews the following:
- Best Practices
- Authorized Users - R365 Application
- R365 OData Connector Users - Provider Application
- Authentication
- Available Endpoints
- Service Metadata (EDMX) Document
- OData Endpoints
- Data Filtering & Querying
- Examples
- Postman Examples
Important Note
R365 can help with connecting to Odata to ensure that the API is working for you. R365 does not support applications that are used to connect to OData.
Assistance around best practices can be provided but it is recommended that OData documentation be reviewed and utilized.
Best Practices
Here are some simple things that can be done to improve your experience in retrieving data through the R365 OData endpoints.
- Structure queries so that they query smaller datasets and make more calls
- Some datasets could result in gigabytes worth of data (retrieving all transaction data at one time for example), transmission of that large of a dataset alone will take a significantly large time
- Some endpoints have specifically been “throttled” to prevent pulling too much data at one time
- When pulling details, get a list of header (Transaction or SalesEmployee) ID’s and use those ID’s to query the details
- Pull data daily to upkeep data sync
- Take advantage of the rowVersion property to more easily get records that have changed since the last data pull
- Pull data month by month when pulling data initially for historical data needs
- Depending on how many locations and how much data you have, this may be best done by location or by week.
Authorized Users - R365 Application
Any Active Restaurant365 User with the following User Roles are permitted to use the R365 OData Connector:
- Full Access
- Accounting Admin
- Accounting Clerk
Click here for more information about R365 User Roles.
R365 OData Connector Users - Provider Application
Depending on the size of your team, and the needs of your organization, you can take one of two approaches to which Users will access the R365 OData Connector:
- Have each User authenticate using their R365 User profile:
- Accessible Data will be limited to the User's R365 Location Access
- Users can be deactivated as needed
- Password changes must be made on both R365 and Provider platforms
- Create a Dedicated R365 OData Connector User:
- Accessible Data will include all Locations
- User could not be deactivated without removing access for all Users
- Password changes must be made on both R365 and Provider platforms
With each solution, your Users will have to update their password on each platform. Choose the solution that works best for your Organization.
Authentication
OData Connector Credentials must be entered using the following format: Domain\Username
For example, if your Restaurant365 URL is https://yourCompany.restaurant365.com and your username is r365user, then you would enter:
- Username: yourCompany\r365user
- Password: Your R365 password
Available Endpoints
The following reports are provided by the R365 OData Connector:
Company | List all Vendors |
Employee | List all Employees with basic information |
EntityDeleted | Retrieve a list of records deleted from the system |
GLAccount | List all GL Accounts with details |
Item | List all Items with categorization |
JobTitle | List all Job titles with details |
LaborDetail | Retrieve Employee punch times details (clock in/out) |
Location | List all Locations |
PayrollSummary | Retrieve a list of labor records |
POSEmployee | Retrieve data mapping between R365 Employee records and POS Employee records |
Transaction | Retrieve a list of financial transactions |
TransactionDetail | Retrieve a list of financial transaction details at item level |
SalesEmployee | Retrieve a list of Sales Ticket (header) data, including the employee associated with the ticket |
SalesDetail | Retrieve sales ticket details (items on ticket) |
SalesPayment | Retrieve sales payment associated with sales ticket data |
Service Metadata (EDMX) Document
The metadata can be downloaded by requesting $metadata. This XML-based service document contains the schema of the entity models associated with each available endpoint within the service.
https://odata.restaurant365.net/api/v2/views/$metadata
OData Endpoints
Transactions
https://odata.restaurant365.net/api/v2/views/Transaction
Properties | Description |
transactionId | A unique guid identifier for a transaction record |
locationId | A unique guid identifier of the location where the associating transaction was created |
locationName | The name of the referencing Location |
date | The imported date and time when the transaction was created in ISO 8601 format |
transactionNumber | A custom reference associated with the transaction |
name | Name of the transaction |
type | Type of transaction, i.e. Journal Entry, AP Invoice |
isApproved | 1 is approved, 0 is unapproved |
companyId | A unique guid identifier for the associating company, if any |
createdBy | The R365 User Name for the User who created the transaction |
createdOn | The date and time when the transaction was created in ISO 8601 format |
modifiedBy | The R365 User Name for the User who modified the transaction last |
modifiedOn | The date and time when the transaction was last modified in ISO 8601 format |
https://odata.restaurant365.net/api/v2/views/TransactionDetail
Transaction Details can be joined to the Transaction report using the transactionId
Properties | Description |
transactionDetailAutoId | A item-level unique guid identifier for a transaction details record |
transactionDetailId | A unique guid identifier linked a collection of transaction detail records |
transactionId | A unique guid identifier linked to a transaction record |
locationId | A unique guid identifier of the Location where the associating transaction was created |
glAccountId | A unique guid identifier of the GL Account mapped to the line item |
item | A unique guid identifier of the item in this transaction |
credit | The credit amount in the transaction |
debit | The debit amount in the transaction |
amount | The total balance in the transaction |
quantity | The quantity of item in the transaction |
adjustment | The adjustment amount in the transaction |
unitOfMeasureName | Describe the unit of measure for the item |
comment | Description or comment of the item |
createdBy | A unique guid identifier for the User who created the transaction |
createdOn | The date and time when the transaction was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the transaction last |
modifiedOn | The date and time when the transaction was last modified in ISO 8601 format |
https://odata.restaurant365.net/api/v2/views/Company
Companies can be joined to the Transaction report using companyId
Properties | Description |
companyId | A unique guid identifier for a Vendor's company |
name | The name of the company |
companyNumber | The company number for optional identification purposes |
comment | Notes or comments in the company record |
createdBy | A unique guid identifier for the User who created the company |
createdOn | The date and time when the company was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the company last |
modifiedOn | The date and time when the company was last modified in ISO 8601 format |
https://odata.restaurant365.net/api/v2/views/Item
Items can be joined to the Transaction Detail report on the itemId column to view more information regarding the item on the transaction detail
Properties | Description |
itemId | A unique guid identifier for the item |
itemNumber | The name or number of the business for optional identification purposes |
category1 | Item category name 1 |
category2 | Item category name 2 |
category3 | Item category name 3 |
createdBy | A unique guid identifier for the User who created the item |
createdOn | The date and time when the item was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the item last |
modifiedOn | The date and time when the item was last modified in ISO 8601 format |
https://odata.restaurant365.net/api/v2/views/Location
Locations can be joined to the Transaction or Transaction Detail report using locationId
Properties | Description |
locationId | A unique guid identifier for a Location |
name | The name of the Location |
locationNumber | The name or number of the Location as an optional identification reference |
legalEntityId | A unique guid identifier for the Legal Entity associated with this location |
legalEntityNumber | The number of the Legal Entity |
legalEntityName | The name of the Legal Entity |
createdBy | A unique guid identifier for the User who created the Location |
createdOn | The date and time when the Location was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the Location last |
modifiedOn | The date and time when the Location was last modified in ISO 8601 format |
https://odata.restaurant365.net/api/v2/views/GlAccount
GL Account data can be joined with the Transaction Detail report on glAccountAutoId to see the GL Account associated with a transaction detail record
Properties | Description |
glAccountAutoId | A unique numeric identifier for a GL Account |
glAccountId | A unique guid identifier for a GL Account |
locationId | A reference identifier to a Location associated with the GL Account |
locationNumber | The Location number associated with the GL Account |
locationName | The Location name associated with the GL Account |
legalEntityId | A guid identifier of the Legal Entity associated with this GL Account |
legalEntityNumber | The number of the Legal Entity |
legalEntityName | The name of the Legal Entity |
name | The name of the GL Account |
glAccountNumber | The GL Account number |
glTypeClass | A number class type for this GL Account |
glType | The GL Account type |
operationalCategory | The Operational category for this GL Account |
createdBy | A unique guid identifier for the User who created the GL Account |
createdOn | The date and time when the GL Account was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the GL Account last |
modifiedOn | The date and time when the GL Account was last modified in ISO 8601 format |
https://odata.restaurant365.net/api/v2/views/Employee
Using the employeeId field, Employees can be joined to Labor Detail through the employee_ID field
Using the employeeId field, Employees can be joined to POS Employee data through employee_ID field
Properties | Description |
employeeId | A unique guid identifier for an Employee |
fullName | Full name of the Employee |
address1 | The Employee's address line 1 |
address2 | The Employee's address line 2 |
allowTextMessaging | Indicates whether the Employee allows text messaging |
birthdayDay | The day of the Employee's birthday |
birthdayMonth | The month of the Employee's birthday |
city | The Employee's city of residence |
firstName | The Employee's first name |
hireDate | The Employee's hire date |
lastName | The Employee's last name |
middleName | The Employee's middle name |
mobilePhone | The Employee's mobile phone number |
multipleLocations | Indicates whether the employee works at multiple Locations |
payrollID | The Employee's payroll ID |
phoneNumber | The Employee's phone number |
posid | The Employee's POS ID |
state | The Employee's state of residence |
zipCode | The Employee's zip code |
primaryLocation_id | The Employee's primary work Location |
inactive | The Employee's status |
The Employee's email address | |
birthday | The Employee's birthday |
createdBy | A unique guid identifier for the User who created the Employee record |
createdOn | The date and time when the Employee record was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the Employee record last |
modifiedOn | The date and time when the Employee record was last modified in ISO 8601 format |
https://odata.restaurant365.net/api/v2/views/JobTitle
Using the JobTitleID field, Job Titles can be joined to Labor Detail through JobTitle_ID
Using the glAccount_ID field, Job Titles can be joined to GL Accounts through glAccountID
Properties | Description |
jobTitleId | A unique guid identifier for a Job title record |
name | The title of the Job |
description | The description of the Job |
jobCode | The Job code associated with the Job |
payRate | The pay rate associated with the Job |
payRate_Base | The base pay rate associated with the Job |
posid | The Job title's POS ID |
glAccount_Id | The GL Account associated with the Job |
location_Id | The Location associated with the Job |
excludeFromSchedule | Indicates whether to exclude Job from scheduling |
excludeFromPOSImport | Indicates whether to exclude Job from POS import |
createdBy | A unique guid identifier for the User who created the Job title |
createdOn | The date and time when the Job was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the Job title last |
modifiedOn | The date and time when the Job title was last modified in ISO 8601 format |
LaborDetail
https://odata.restaurant365.net/api/v2/views/LaborDetail
Using the employee_ID field, Labor Detail can be joined to Employee through the employeeID field
Using the JobTitle_ID field, Labor Detail can be joined to Job Title through the JobTitleID field
Using the location_Id field, Labor Detail can be joined to Location through locationID field
Properties | Description |
laborId | A unique guid identifier for a labor detail record |
labor | The name of the labor detail record |
dateWorked | The date and time of the work day |
dailysalessummaryid | The reference to the Daily Sales Summary for which this data is associated. This can be used to better tie out all data that should be resynced when a DSS is deleted in R365 and data needs to be repolled from R365 for the updated information. |
endTime | The date and time when the shift ends |
hours | The total hours worked |
payRate | The Employee's pay rate |
payrollStatus | The Employee's payroll status |
startTime | The date and time when the shift starts |
total | The total amount earned based on pay rate and hours |
employee_ID | Identifier of the Employee associated with this labor detail |
employeeJobTitle_ID | Identifier of the mapping between Employee and Job title |
jobTitle_ID | Identifier of the Job title associated with this labor detail |
location_ID | Identifier of the Location associated with this labor detail |
cateringEvent | Indicates whether the labor is associated with a Catering event |
employee | The Employee's full name |
payrollID | The Payroll ID associated with this labor detail |
jobTitle | The Job title associated with this labor detail |
dateWorkedDateText | The date and time of the work day as string |
location | The Location associated with this labor detail |
createdBy | A unique guid identifier for the User who created the labor detail |
createdOn | The date and time when the labor detail was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the labor detail last |
modifiedOn | The date and time when the labor detail was last modified in ISO 8601 format |
POS Employee
https://odata.restaurant365.net/api/v2/views/POSEmployee
Using the employee_id field, POS Employees can be joined to Employee data through employeeId field
Properties | Description |
posEmployeeId | A unique guid identifier for this mapping record |
fullName | The Employee's full name |
posid | The Employee's POS ID |
location_id | Identifier of the Location associated with this record |
employee_id | Identifier of the Employee associated with this record |
createdBy | A unique guid identifier for the User who created the record |
createdOn | The date and time when the record was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the record last |
modifiedOn | The date and time when the record was last modified in ISO 8601 format |
SalesEmployee
https://odata.restaurant365.net/api/v2/views/SalesEmployee
Please note that due to the high volume of data available to be pulled from sales data endpoints, limitations have purposefully been enforced to limit the amount of data that can be pulled in a single call. Sales data can retrieve 1 month’s worth of data (up to 31 days) per request. For daily pulls this should not pose any problem, but for historical data pulls, developers will need to plan their requests accordingly. An error message stating 'The filter exceeds the date limit of 31 days, please limit your date range and try again.' will be returned and require that the request parameters be modified.
Using the location field, SalesEmployee data can be linked to Location data through the locationId field.
Using the server field, SalesEmployee data can be linked to Employee data through the employeeID field.
Properties | Description |
salesId | A unique guid identifier for a salesEmployee (sales ticket) record |
receiptNumber | Receipt number text from the POS |
checkNumber | Ticket identifying value from the POS |
comment | Comment text on the ticket |
date | The date and time when the order was taken in ISO 8601 format |
dayOfWeek | Day of the week on which the order was taken |
dayPart | Part of the day (as defined on the related location) that the order was taken |
netSales | Total sales less discounts |
numberOfGuests | Number of Guests notated on the ticket |
orderHour | Hour of the day that the order was taken |
salesAmount | Total sales amount, not including tax or tip |
taxAmount | Amount of tax on the ticket |
tipAmount | Amount tipped on the ticket |
totalAmount | Total of all items sold |
totalPayment | Total payment amount applied to the ticket |
void | Used if the entire ticket was voided |
server | Name of the employee/server/cashier that processed (or was responsible for) the ticket |
location | A unique guid identifier for the Location where the ticket was generated and fulfilled |
grossSales | Total sales, without gift cards redeemed included |
dailysalessummaryid | The reference to the Daily Sales Summary for which this data is associated. This can be used to better tie out all data that should be resynced when a DSS is deleted in R365 and data needs to be repolled from R365 for the updated information. |
createdBy | A unique guid identifier for the User who created the record |
createdOn | The date and time when the record was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the record last |
modifiedOn | The date and time when the record was last modified in ISO 8601 format |
serviceType | Service Type/Order Mode. Option of how to receive an order: Dine In, Take Out, Delivery, etc. |
SalesDetail
Please note that due to the high volume of data available to be pulled from sales data endpoints, limitations have purposefully been enforced to limit the amount of data that can be pulled in a single call. Sales data can retrieve 1 month’s worth of data (up to 31 days) per request. For daily pulls this should not pose any problem, but for historical data pulls, developers will need to plan their requests accordingly. An error message stating “The filter exceeds the date limit of 31 days, please limit your date range and try again.” will be returned and require that the request parameters be modified.
https://odata.restaurant365.net/api/v2/views/SalesDetail
Using the location field, SalesEmployee data can be linked to Location data through the locationId field.
Using the salesID field, SalesDetail data can be linked to SalesEmployee data through the salesID field.
Properties | Description |
salesdetailID | A unique guid identifier for the sales ticket (SalesEmployee) record |
menuitem | Name of the menu item ordered |
amount | Extended amount charged for the menu item |
customerPOSText | Comment text from the customer's POS (if provided by the POS) |
date | The date and time when the item was added in ISO 8601 format |
quantity | Quantity of the given menu item ordered |
void | Boolean indicating whether the menu item was voided or not |
company | Currently only provides an empty guid '00000000-0000-0000-0000-000000000000', is under considerations for future implementation |
location | A unique guid identifier for the Location where the ticket was generated and fulfilled |
salesID | A unique guid identifier for a salesEmployee (sales ticket) record |
salesAccount | GL Account Name that the item is associated with |
category | Name of sales category the menu item is associated with |
houseAccountTransaction | Currently is empty but is under consideration for future implementation |
dailysalessummaryid | The reference to the Daily Sales Summary for which this data is associated. This can be used to better tie out all data that should be resynced when a DSS is deleted in R365 and data needs to be repolled from R365 for the updated information. |
transactionDetailID | Currently is empty but is under consideration for future implementation |
cateringEvent | Currently is empty but is under consideration for future implementation |
createdBy | A unique guid identifier for the User who created the record |
createdOn | The date and time when the record was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the record last |
modifiedOn | The date and time when the record was last modified in ISO 8601 format |
SalesPayment
Please note that due to the high volume of data available to be pulled from sales data endpoints, limitations have purposefully been enforced to limit the amount of data that can be pulled in a single call. Sales data can retrieve 1 month’s worth of data (up to 31 days) per request. For daily pulls this should not pose any problem, but for historical data pulls, developers will need to plan their requests accordingly. An error message stating “The filter exceeds the date limit of 31 days, please limit your date range and try again.” will be returned and require that the request parameters be modified.
https://odata.restaurant365.net/api/v2/views/SalesPayment
Using the location field, SalesEmployee data can be linked to Location data through the locationId field.
Using the salesID field, SalesDetail data can be linked to SalesEmployee data through the employeeID field.
Properties | Description |
salespaymentId | A unique guid identifier for a salespayment record |
name | Name of payment as provided by the POS |
amount | Payment Amount |
comment | Comment provided on the payment from the POS |
customerPOSText | Text from the POS |
date | The date and time the payment was recorded, in ISO 8601 format |
dailysalessummaryid | The reference to the Daily Sales Summary for which this data is associated. This can be used to better tie out all data that should be resynced when a DSS is deleted in R365 and data needs to be repolled from R365 for the updated information. |
isException | Boolean indicating whether the payment is an exception or not |
missingreceipt | Boolean indicating whether the receipt is missing or not |
company | Currently on provides an empty guid '00000000-0000-0000-0000-000000000000', is under consideration for future implementation |
location | A unique guid identifier for the Location where the ticket was generated and fulfilled |
paymenttype | Name of the type of payment |
salesID | A unique guid identifier for a salesEmployee (sales ticket) record |
houseAccountTransaction | Currently is empty but is under consideration for future implementation |
transactionDetailID | Currently is empty but is under consideration for future implementation |
cateringEvent | Currently is empty but is under consideration for future implementation |
exclude | Boolean indicating whether or not the payment was excluded |
createdBy | A unique guid identifier for the User who created the record |
createdOn | The date and time when the record was created in ISO 8601 format |
modifiedBy | A unique guid identifier for the User who modified the record last |
modifiedOn | The date and time when the record was last modified in ISO 8601 format |
Entity Deleted
https://odata.restaurant365.net/api/v2/views/EntityDeleted
Using the entityId field, EntityDeleted can be joined to TransactionDetail data through entityId field where entityName is TransactionDetail
Properties | Description |
entityId | A unique guid identifier for this record |
entityName | The name of the entity type |
deletedOn | The date and time when the record was deleted from the system |
rowVersion | A unique guid identifier to represent the version of the rec |
Data Filtering & Querying
R365 uses standard OData calls to perform Data Filtering and Querying. The following OData query options are supported:
Option | Description |
$filter | Filters the results, based on the Boolean condition |
$orderby | Sorts the results, ascending by default, use desc for descending order |
$select | Selects which properties to include in the response |
$skip | Skips the first n results |
$top | Returns only the first n results |
Examples
Transaction
Retrieve transactions created on or after the specified date
https://odata.restaurant365.net/api/v2/views/Transaction?$filter=date ge 2019-09-01T00:00:00Z
Retrieve transactions created before the specified date
https://odata.restaurant365.net/api/v2/views/Transaction?$filter=date lt 2019-12-15T00:00:00Z
Retrieve transactions created on the specified date
https://odata.restaurant365.net/api/v2/views/Transaction?$filter=date eq 2019-08-28T00:00:00Z
Retrieve transactions between a date range
https://odata.restaurant365.net/api/v2/views/Transaction?$filter=date ge 2019-03-26T00:00:00Z and date lt 2019-04-01T00:00:00Z
Retrieve a Location and name of a transaction by transaction ID
https://odata.restaurant365.net/api/v2/views/Transaction?$select=locationId,locationName,name&$filter=transactionId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Retrieve transaction details by transaction ID
https://odata.restaurant365.net/api/v2/views/TransactionDetail?$filter=transactionId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Retrieve transaction details with zero balance
https://odata.restaurant365.net/api/v2/views/TransactionDetail?$filter=amount eq 0
Retrieve transaction details with adjustments and sort results by descending
https://odata.restaurant365.net/api/v2/views/TransactionDetail?$filter=adjustment ne 0&$orderby=adjustment desc
Retrieve transactions by Location ID, sort result by type and date
https://odata.restaurant365.net/api/v2/views/Transaction?$filter=locationId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&$orderby=type, date
Retrieve the last 5 transactions on the specified date
https://odata.restaurant365.net/api/v2/views/Transaction?$filter=date eq 2019-03-26T00:00:00Z&$orderby=createdOn desc&$top=5
Company
Retrieve a list of companies with the names that begin with 'C'
https://odata.restaurant365.net/api/v2/views/Company?$filter=startswith(name,'C')
Retrieve a list of companies with the names that end with 'Inc'
https://odata.restaurant365.net/api/v2/views/Company?$filter=endswith(name,'Inc')
Retrieve a list of companies with the names that contain the word 'Food'
https://odata.restaurant365.net/api/v2/views/Company?$filter=contains(name,'food')
Get the last company created in the system
https://odata.restaurant365.net/api/v2/views/Company?$orderby=createdOn desc&$top=1
Item
Retrieve a list of items in the 'Food & Beverage' category
https://odata.restaurant365.net/api/v2/views/Item?$filter=category1 eq 'Food %26 Beverage'
Retrieve item(s) by item number 'ABC123'
https://odata.restaurant365.net/api/v2/views/Item?$filter=itemNumber eq 'ABC123'
Retrieve an item by a specified item ID
https://odata.restaurant365.net/api/v2/views/Item?$filter=itemId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Location
Get a Location by a specified Location ID
https://odata.restaurant365.net/api/v2/views/Location?$filter=locationId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Get Location(s) by Location number
https://odata.restaurant365.net/api/v2/views/Location?$filter=locationNumber eq '1234'
Get a list of Locations by a specified Legal Entity number
https://odata.restaurant365.net/api/v2/views/Location?$filter=legalEntityNumber eq 'A999'
Get a list of Locations with the names that contain the word 'Food'
https://odata.restaurant365.net/api/v2/views/Location?$filter=contains(name, 'Food')
GL Account
Get GL Account(s) by GL Account number
https://odata.restaurant365.net/api/v2/views/GLAccount?$filter=glAccountNumber eq '1234'
Get GL Account(s) by Location ID
https://odata.restaurant365.net/api/v2/views/GLAccount?$filter=locationId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Get GL Account(s) by GL Type and Location
https://odata.restaurant365.net/api/v2/views/GLAccount?$filter=glType eq 'Current Asset' and locationName eq 'My Cafe'
Get Legal Entity names and numbers by a specified GL Account numeric ID
Employee
Get Employees by full name
https://odata.restaurant365.net/api/v2/views/Employee?$filter=fullName eq 'John Smith'
Get Employees who allow text messaging
https://odata.restaurant365.net/api/v2/views/Employee?$filter=allowTextMessaging eq true
Get Employees having a specified Location as their primary work Location
https://odata.restaurant365.net/api/v2/views/Employee?$filter=primaryLocation_id eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Get active Employees who live in Chicago
https://odata.restaurant365.net/api/v2/views/Employee?$filter=city eq 'Chicago' and inactive eq false
Labor
Get labor details for a specified Employee by ID on a specified work day
https://odata.restaurant365.net/api/v2/views/LaborDetail?$filter=dateWorked eq 2019-01-08T00:00:00Z and employee_Id eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Get an Employee's total hours worked on a specified work day
https://odata.restaurant365.net/api/v2/views/LaborDetail?$filter=dateWorked eq 2019-01-08T00:00:00Z and employee_Id eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx&$select=hours
Get all punches within a specified time range on a specified work day
https://odata.restaurant365.net/api/v2/views/LaborDetail?$filter=dateWorked eq 2019-01-08T00:00:00Z and startTime ge 2019-01-08T06:00:00Z and startTime lt 2019-01-08T12:00:00Z
Get all labor details from a specified date where Employees made less than a specified amount
https://odata.restaurant365.net/api/v2/views/LaborDetail?$filter=total le 50.00 and dateWorked eq 2019-04-23T00:00:00Z
SalesEmployee
Please note that queries to sales endpoints require date parameters that will retrieve data up to a total range of 31 days.
Get IDs for all sale tickets on a specified date range
https://odata.restaurant365.net/api/v2/views/SalesEmployee?$filter=date ge 2020-06-23T00:00:00Z and date lt 2020-06-24T00:00:00Z
Get all sale tickets from the previous day (where the previous day was 2020-06-23)
https://odata.restaurant365.net/api/v2/views/SalesEmployee?$filter=modifiedOn ge 2020-06-23T00:00:00Z
SalesDetail
Get sales details for all records from a specified location in a specified date range, with record count
https://odata.restaurant365.net/api/v2/views/SalesDetail?$filter=location eq(a46e44dc-5c80-481a-8151-0d76bc3fefe6) and date ge 2020-06-21T00:00:00Z and date le 2020-06-28T00:00:00Z&$count=true
Get sales details from a specified sales tickets (SalesEmployee), with record count
https://odata.restaurant365.net/api/v2/views/SalesDetail?$count=true&$filter=salesID eq(321349be-9b04-eb11-a82c-000d3a92ad2e)
SalesPayment
Get sales payment data for the previous day (where the previous day was 2020-09-22)
https://odata.restaurant365.net/api/v2/views/SalesPayment?$filter=modifiedon ge 2020-09-22T00:00:00Z
Get sales payments from a specified sales ticket (SalesEmployee), with record count
https://odata.restaurant365.net/api/v2/views/SalesPayment?$count=true&$filter=salesID eq(321349be-9b04-eb11-a82c-000d3a92ad2e)
EntityDeleted
Get IDs for all Transaction Details deleted on a specified deletion date
https://odata.restaurant365.net/api/v2/views/EntityDeleted?$filter=deletedOn eq 2019-01-08T00:00:00Z and entityName eq 'TransactionDetail'
Postman Examples
Postman Examples can be downloaded from the below attachment.