Skip to content

Merchant Capability

  • Capability name: merchant

Overview

Merchant Capability defines merchant identity, operational services, and catalog structures used across the ecosystem.

Every merchant record MUST include a stable identifier to support deterministic cross-system reconciliation.

Scope

Merchant Capability covers:

  • Merchant registration and descriptive metadata
  • Operational services context
  • Catalog composition: menus, categories, items, offers, and options
  • Availability references for catalog usage

Merchant Capability does not cover:

  • Order lifecycle management
  • Delivery execution orchestration
  • CRM and loyalty workflows

Participants

Participant Provider Consumer
Software Service Exposes merchant and catalog data and change feeds Consumes reconciliation acknowledgements when applicable
Ordering Application Exposes optional consumer callbacks when agreed Consumes merchant/catalog snapshots and updates
Logistics Service Exposes optional logistics constraints interface Consumes merchant service and readiness context

Data Model

Merchant

Field Type Required Description
id string YES Stable merchant identifier
name string YES Merchant display name
status string YES Operational status (ONLINE, OFFLINE, SUSPENDED)
address object YES Physical location address
contacts array[object] NO Contact channels
categories array[string] NO Business category tags
updatedAt string NO Last update timestamp (RFC 3339)
Field Type Required Description
id string YES Menu identifier
merchantId string YES Owning merchant identifier
name string YES Menu display name
categories array[Category] YES Ordered list of item categories
availability object NO Availability schedule reference

Category

Field Type Required Description
id string YES Category identifier
name string YES Category display name
items array[Item] YES Items in this category

Item

Field Type Required Description
id string YES Item identifier
name string YES Item display name
description string NO Item description
price number YES Unit price in minor units (cents)
imageUrl string NO Item image URI
status string YES Availability status (AVAILABLE, UNAVAILABLE)
optionGroups array[OptionGroup] NO Customization option groups

OptionGroup

Field Type Required Description
id string YES Option group identifier
name string YES Option group display name
min number YES Minimum selections required
max number YES Maximum selections allowed
options array[Option] YES Available options

Option

Field Type Required Description
id string YES Option identifier
name string YES Option display name
price number YES Additional price in minor units (cents)
status string YES Availability status (AVAILABLE, UNAVAILABLE)

Operations

Operation Provider Consumer Description
getMerchant Software Service Ordering Application Retrieve merchant metadata
getMenu Software Service Ordering Application Retrieve full menu snapshot
getMenuItem Software Service Ordering Application Retrieve a single item
updateMerchantStatus Software Service Ordering Application Signal merchant operational status change

For transport-specific details, see REST Binding — Merchant.

Example

{
  "id": "merchant-001",
  "name": "Burger House",
  "status": "ONLINE",
  "address": {
    "street": "Av. Paulista, 1000",
    "city": "São Paulo",
    "state": "SP",
    "country": "BR",
    "postalCode": "01310-100"
  }
}