Restaurant365 OData Connector

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.

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:

  • Domo

  • Prophix

  • Microsoft Excel

  • PowerBI

  • Any Reporting Provider that accepts OData

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. 


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.


How to Set Up and Use the OData Connector - Video


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 default R365 user roles are permitted to use the R365 OData Connector:

  • Accounting Clerk

  • Full Access

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:

  1. 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

  2. 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 r365userthen you would enter: 

  • Username: yourCompany\r365user

  • Password: Your R365 password


Connecting the OData Connector via Excel

The OData Connector is commonly used with Excel . Learn about connecting to the OData Connector via Excel.


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.

This end point does not support the Odata parameters ‘$select’ or ‘$count’.

SalesDetail

Retrieve sales ticket details (items on ticket).

This end point does not support the Odata parameters ‘$select’ or ‘$count’.

SalesPayment

Retrieve sales payment associated with sales ticket data.

This end point does not support the Odata parameters ‘$select’ or ‘$count’.


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.

When querying by the ‘date’ property, the query will get all tickets for the business date.

Do not include other date type parameters such as ‘created on’ or modified on as that will not further restrict results and only add complexity to the query and performance.

Do not include additional date-type parameters such as ‘created on’ or ‘modified on’ in the query. Adding extra date parameters will not further restrict results and can add complexity and negatively impact query performance.

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.

TransactionDetails

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.

Companies

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.

Items

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.

Locations

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.

GLAccounts

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.

Employee

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.

email

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.

JobTitle

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.

This end point does not support the Odata parameters ‘$select’ or ‘$count’.

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

This end point does not support the Odata parameters ‘$select’ or ‘$count’.

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 

This end point does not support the Odata parameters ‘$select’ or ‘$count’.

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'

Generic

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')

Generic

GL Account

Get GL Account(s) by GL Account number

https://odata.restaurant365.net/api/v2/views/GLAccount?$filter=glAccountNumber eq '1234'

Generic

Get GL Account(s) by Location ID

https://odata.restaurant365.net/api/v2/views/GLAccount?$filter=locationId eq xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Generic

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

https://odata.restaurant365.net/api/v2/views/GLAccount?$filter=glAccountAutoId eq 134&$select=legalentityname,legalentitynumber,legalentityid

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 attachment below.

R365 OData v2 - Postman Examples_collection
14.22 KB