Content Types

Created 11 April 2026

Database schema and content type definitions automatically created by the plugin

Auto-Creation: All content types are automatically created when the plugin is enabled. You can manage them through the Strapi admin panel under Content-Types Builder.

Content Type Description Key Fields Auto-Created API Access

product

Main product catalog with variants and inventory

name, price, description, images, sku

Yes

Public

product-category

Hierarchical product categorization

name, slug, description, parent

Yes

Public

product-tag

Product tags for flexible categorization

name, slug, color

Yes

Public

product-variation

Product variations (size, color, etc.)

product, attributes, price, stock

Yes

Admin

product-attribute

Product attributes (color, size, material)

name, type, values

Yes

Admin

cart-item

Shopping cart items storage

product, quantity, user, session

Yes

Private

order

Customer orders and transactions

user, items, total, status, payment

Yes

Private

address

User addresses for billing and shipping

user, type, country, city, street

Yes

Private

wishlist

User wishlists and saved products

user, products

Yes

Private

compare

Product comparison functionality

user, products

Yes

Private

coupon

Discount coupons and promotions

code, discount, type, expiry

Yes

Admin

shipping-zone

Shipping zones by geographical regions

name, countries, methods

Yes

Admin

shipping-method

Shipping methods (flat rate, weight-based)

name, type, rates, zones

Yes

Admin

payment-transaction

Payment records and transaction logs

order, amount, status, provider

Yes

Admin

Public Access
Public Access

Products, categories, and tags are publicly accessible

Private Access
Private Access

User-specific data requires authentication

Admin Only
Admin Only

Configuration content types for administrators

Detailed Schema Information

Product Schema Details

Core Fields:

  • name (string, required)
  • description (richtext)
  • price (decimal, required)
  • sale_price (decimal)
  • sku (string, unique)
  • stock_quantity (integer)
  • stock_status (enum: in_stock, out_of_stock)
Relations:
  • categories (manyToMany → product-category)
  • tags (manyToMany → product-tag)
  • variations (oneToMany → product-variation)
  • images (manyToMany → upload.file)
  • attributes (manyToMany → product-attribute)

Order Schema Details

Order Fields:
  • order_number (string, unique)
  • status (enum: pending, processing, shipped, delivered, cancelled)
  • total (decimal)
  • subtotal (decimal)
  • tax_amount (decimal)
  • shipping_amount (decimal)
  • discount_amount (decimal)
Relations:
  • user (manyToOne → user)
  • items (oneToMany → order-item)
  • billing_address (manyToOne → address)
  • shipping_address (manyToOne → address)
  • transactions (oneToMany → payment-transaction)
  • shipping_method (manyToOne → shipping-method)

User Schema Extensions

Added Fields:
  • username (string, required, unique)
  • email (email, required)
  • phone_no (string, required, unique)
  • first_name (string, required)
  • last_name (string, required)
  • display_name (string)
  • company_name (string)
OTP Authentication Fields:
  • otp (integer)
  • isOtpVerified (boolean, default: false)
  • otpExpiry (datetime)
Relations:
  • addresses (oneToMany → address)
  • orders (oneToMany → order)
  • wishlist (oneToOne → wishlist)

Shipping Schema Details

Shipping Zone:
  • name (string)
  • countries (JSON array)
  • regions (JSON array)
Shipping Method:
  • name (string)
  • type (enum: flat_rate, weight_based)
  • cost (decimal)
  • zone (manyToOne → shipping-zone)
Shipping Rate:
  • min_weight (decimal)
  • max_weight (decimal)
  • cost (decimal)
  • method (manyToOne → shipping-method)

Important: Modifying content types after data has been added may cause data loss. Always backup your database before making schema changes.