Data Model
Key entities and relationships in the Vantemo platform.
Data Model
This page describes the key entities in Vantemo and how they relate to each other. Understanding the data model helps you build effective integrations.
Core Entities
Shop
The top-level tenant entity. Every resource belongs to a shop.
Shop
├── Products
│ └── Variants (with Options)
├── Orders
│ └── Line Items
├── Customers
│ └── Addresses
├── Categories
├── Collections
├── Coupons
├── Blog Posts
├── Pages
├── Webhooks
├── API Keys
└── SettingsProduct
A sellable item. Products have a title, description, price, images, and status.
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier (e.g., prod_8x9a) |
title | string | Display name |
slug | string | URL-friendly identifier |
description | string | HTML or plain text description |
price | integer | Price in smallest currency unit (cents) |
compareAtPrice | integer | null | Original price for sale display |
currency | string | ISO 4217 currency code |
status | enum | ACTIVE, DRAFT, or ARCHIVED |
images | array | Product images with alt text |
Variant
A specific purchasable configuration of a product (e.g., "Black / Medium"). Each variant has its own SKU, price, and inventory count.
Products can have up to 3 options (e.g., Color, Size, Material) and up to 100 variants. Variants are auto-generated from option value combinations.
Order
A completed or in-progress purchase. Orders progress through statuses:
PENDING → CONFIRMED → PROCESSING → SHIPPED → DELIVERED
→ RETURNED
→ CANCELLEDCustomer
A shopper who has created an account or checked out. Customers can have multiple addresses and order history.
Cart
A temporary collection of items before checkout. Carts are created automatically when items are added and converted to orders during checkout.
Pricing
All monetary values are stored as integers in the smallest currency unit (e.g.,
cents for EUR/USD). A product priced at €70.00 has a price of 7000.
This avoids floating-point precision issues and is consistent with Stripe's pricing model.
Timestamps
All entities include createdAt and updatedAt timestamps in ISO 8601 format
(UTC timezone). Some entities also have deletedAt for soft deletion.
Next Steps
- API Reference — See the full schema for each entity
- Multi-Tenancy — How data isolation works