Skip to main content

Clover Data Models (API)

Updated over 6 months ago

Understanding the Clover Data Models is key to using WeeConnectPay. It will save you a lot time to take a moment to understand this and ask us as many questions as you need to understand it.

Although we rarely save more than the Clover IDs, WeeConnectPay is bound by the same data models when working with the different Clover models during API calls to Clover.

Understanding unconventional (and sometimes undocumented) details are keys. Details such as;

  • Many merchants may log in using the same email

  • Although an order does not require a customer, it requires an email, which in turn will create a customer

  • Clover automatically merges customers created through various information (As such, for the Clover Dashboard to stay relevant; Using more information when creating a customer is a good strategy):

    • Email Address

    • Credit Card Number

    • ???

  • Each Clover API Key is represented by a Merchant, Employee and App. Should any of those 3 have relevant permissions changed, it may:

    • At best: not be reflected until re-authenticating / re-generation of the Clover API Key

    • At worse: Invalidate the current Clover API Key


Most of the information below is from the Clover API Documentation and may not fully apply to WeeConnectPay, however, it does mold the limitations of WeeConnectPay. As such, it has not been edited and simply provided here for convenience.

Source:

Clover data model
Additional source specific to ecommerce:

2651

Association labels legend

Label

Meaning

0

No instances (rare)

0..1

No instances, or one instance

1

Exactly one instance

1..1

Exactly one instance

0..*

Zero or more instances

*

Zero or more instances

1..*

One or more instances

Merchants

When a merchant account is created, a unique identifier called Merchant ID (MID) is associated with that merchant. The merchant is the central association point between employees, orders, and so on.

When using the APIs or SDK, your application makes requests on behalf of the merchant that has installed your app and accepted associated permissions to read or modify merchant data.

A merchant is associated with other data in the following ways:

  • A merchant can be associated with one or more inventory items

  • A merchant can have zero or more employees

  • A merchant can have one or more customers

  • A merchant can have zero or more orders

  • A merchant can have zero or more payments

Employees

Employees are associated with merchants. Merchants manage (create, update, or delete) their employee records which, at a minimum, have an employee name. Other capturable data include employee ID, email, shift schedule, order records, and so on. Employees take orders which can be associated with the employee.

Employees are associated with other data in the following ways:

  • An employee can be associated with a single merchant

  • An employee can be associated with zero or more payments

  • An employee can be associated with zero or more orders

Customers

Customers are associated with merchants. Merchants manage (create, update, or delete) their customer records using native Clover apps or an application using the APIs or SDK. Merchants can store customer credit card information at the time of purchase as a card on file. Cards on file are encrypted tokens that represent the credit card information.

Customers are associated with other data in the following ways:

  • A customer can be associated with a single merchant

  • A customer can be associated with zero or more orders

Inventory

Inventory data is associated with merchants. Inventory items can include retail merchandise, services offered, or restaurant menu choices. Inventory can be added in three ways:

  • Enter items individually on a Clover device or the Clover Web Dashboard.

  • Scan merchandise barcodes.

  • Import items as data from a spreadsheet.

With item variants, merchants can account for merchandise differentiation. For example, men’s shirts that have the same style but are available in two different fabrics.

Modifiers are similar to variants, but they are intended to capture additional details about the item. For example, in a restaurant, you can create a modifier group called Cooking Temperature with a modifier for each of the five steak cooking temperatures: rare, medium-rare, medium, medium-well, and well done.

Track and update stock quantities. By default, Clover tracks stock quantities for you. This function can be turned off.

Create and manage categories for grouping similar items for better inventory management.

Add labels to items to help organize them or perform functions on the items under one label, for example, run a report on all items with a specific label.

Inventory is associated with other data in the following way:

  • Inventory can be associated with a single merchant

Orders

Orders are the core of Clover’s transaction data. Almost every transaction creates or updates an order. The data associated with an order is automatically synchronized between the Clover server and the merchants’ Clover devices.

Orders are associated with other data in the following ways:

  • An order can be associated with zero or one customer

  • An order can be associated with a single merchant

  • An order can be associated with zero or more employees

Payments

The Remote Pay SDKs (plus Payment Connector) talk to our Clover on-device software to initiate payments, and our device software talks to Clover servers to take payments.

The Remote Pay SDKs themselves (Cloud, Windows, iOS, or Android) run on external devices and connect over a transport with a Pay Display app (SNPD, USB PD, Cloud PD).

An internal secure payments app on the device talks to the Clover servers to perform payment actions.

Payment Connector works similarly but runs on the device and skips some layers to talk directly to the payments app.

Payments are associated with other data in the following ways:

  • Payments can be associated with a single employee

  • Payments can be associated with a single merchant

  • Payments can be associated with a zero or more customers

Did this answer your question?