This specification defines a vocabulary for representing retail-related credentials commonly stored in digital wallets, including coupons, gift cards, loyalty cards, membership cards, tokenized payment methods, rebates, and receipts. The vocabulary provides a standardized, machine-readable framework for expressing the structure and semantics of these credential types, enabling consistent interoperability across wallet providers, merchants, and service platforms.

Alternate versions of the vocabulary definition exist in Turtle and JSON-LD.

This is an experimental vocabulary and is not fit for production usage.

Introduction

This specification defines a vocabulary for modeling a wide range of retail credentials commonly stored in digital wallets. These credentials include coupons, gift cards, loyalty cards, membership cards, tokenized payment methods, rebates, and receipts. As digital wallets become increasingly central to consumer commerce and mobile transactions, there is a growing need for a standard, interoperable data model that supports retail use cases in a consistent and extensible manner.

The vocabulary is designed to be used in conjunction with the W3C Verifiable Credentials Data Model, which provides a secure, privacy-respecting framework for issuing and verifying digitally signed credentials. By aligning with the Verifiable Credentials ecosystem, the vocabulary allows retail data to be issued by trusted entities, cryptographically signed, selectively disclosed, and independently verified. This enables higher levels of trust, transparency, and security across digital wallet transactions, whether they are processed online or in-person.

One of the primary benefits of using this vocabulary is the reduction of integration complexity across digital wallet implementations. Developers can avoid the need to support multiple proprietary schemas or ad hoc data formats, relying instead on a shared vocabulary with well-defined semantics. This promotes interoperability between wallet applications and merchant systems, facilitates innovation across the digital commerce landscape, and enables more consistent user experiences for consumers interacting with their retail credentials.

In addition to supporting standardized credential structures, the vocabulary is designed with extensibility in mind. Developers can build upon core terms to accommodate emerging retail use cases, regional requirements, or custom business logic. The vocabulary also aligns with best practices for digital identity, data privacy, and cryptographic verification, allowing developers to create privacy-respecting and trustworthy wallet experiences. By adopting this vocabulary, implementers contribute to a more open, interoperable, and future-proof digital wallet ecosystem that leverages global web standards.

Retail Ecosystem Examples

This section provides some preliminary examples of retail credentials.

{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/retail-dw/v1rc1"
  ],
  "type": ["VerifiableCredential", "RetailCredential"],
  "issuer": {
    "id": "https://shopco.example/",
    "name": "ShopCo"
  },
  "validFrom": "2025-03-01T00:00:00Z",
  "validUntil": "2026-03-01T00:00:00Z",
  "credentialSubject": {
    "type": "LoyaltyCard",
    "name": "ShopCo Points Card",
    "description": "Use when checking out for rewards at ShopCo.",
    "barCodeData": "123456789123",
    "programIdentifier": "123",
    "account": "456789123"
  },
  "renderMethod": [{
    "type": "TemplateRenderMethod",
    "name": "Front of card",
    "renderSuite": "svg-mustache",
    "template": {
      "id": "https://shopco.example/cards/loyalty-front.svg",
      "mediaType": "image/svg+xml",
      "digestMultibase": "uQmerWC85Wg6wFl9znFCwYxApG270iEu5h6JqWAPdhyxz2dR"
    }
  }, {
    "type": "TemplateRenderMethod",
    "name": "Back of card",
    "renderSuite": "svg-mustache",
    "template": {
      "id": "https://shopco.example/cards/loyalty-back.svg",
      "mediaType": "image/svg+xml",
      "digestMultibase": "uQmC85Wg6wAp2dRerW270iEu5h6JqWFl9GAPdhyxzznFCwYx"
    }
  }]
}
        
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/retail-dw/v1rc1"
  ],
  "type": ["VerifiableCredential", "RetailCredential"],
  "issuer": {
    "id": "https://quickco.example/",
    "name": "QuickCo"
  },
  "validFrom": "2025-03-01T00:00:00Z",
  "validUntil": "2026-03-01T00:00:00Z",
  "credentialSubject": {
    "type": "MembershipCard",
    "name": "QuickCo Membership Card",
    "description": "Use when checking out for discounts at QuickCo.",
    "barCodeData": "912345612789",
    "programIdentifier": "912",
    "account": "345612789"
  },
  "renderMethod": [{
    "type": "TemplateRenderMethod",
    "name": "Front of card",
    "renderSuite": "svg-mustache",
    "template": {
      "id": "https://quickco.example/cards/membership-front.svg",
      "mediaType": "image/svg+xml",
      "digestMultibase": "uQmFl9znFCwYxApG270iEu5h6JqWAPdhyxz2dRerWC85Wg6w"
    }
  }, {
    "type": "TemplateRenderMethod",
    "name": "Back of card",
    "renderSuite": "svg-mustache",
    "template": {
      "id": "https://shopco.example/cards/membership-back.svg",
      "mediaType": "image/svg+xml",
      "digestMultibase": "uQml9GAPdhyxzznFCwYxC85Wg6wAp2dRerW270iEu5h6JqWF"
    }
  }]
}
        
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/retail-dw/v1rc1"
  ],
  "type": ["VerifiableCredential", "RetailCredential"],
  "issuer": {
    "id": "https://company.example/issuer-001",
    "name": "Fast Coffee Company"
  },
  "validFrom": "2023-12-05T00:00:00Z",
  "validUntil": "2024-12-05T00:00:00Z",
  "credentialSubject": {
    "id": "https://coupon.example/12345",
    "type": "Coupon",
    "barCodeData": "0123456789123",
    "name": "$1 off a regular coffee.",
    "description": "Get $1 off any regular coffee. Limit one per customer per visit.",
    "discount": {
      "type": "Discount",
      "discountName": "$1 off a regular coffee.",
      "discountReason": "Celebrating 10 years in business!",
      "discountQuantity": {
        "type": "QuantityUN",
        "value": "1",
        "uom": "EA"
      },
      "discountAmount": {
        "type": "Amount",
        "value": "-1.00",
        "currency": "USD"
      }
    }
  },
  "renderMethod": [{
    "type": "TemplateRenderMethod",
    "renderSuite": "svg-mustache",
    "template": "data:image/svg+xml;base64,Qjei89...3jZpW"
  }, {
    "type": "TemplateRenderMethod",
    "renderSuite": "barcode",
    "name": "Scan at checkout",
    "template": "data:application/vcb;format=pdf417;base64,QGDG2QZkp...cY4BiwG8XJWnRO",
    "renderProperty": ["/credentialSubject/barcode"]
  }, {
    "type": "TemplateRenderMethod",
    "renderSuite": "barcode",
    "name": "Scan at checkout",
    "template": "data:image/png;base64,k38dQGDG2...cjf82Y4BiwG8XJ",
    "renderProperty": ["/credentialSubject/barcode"]
  }]
}
        
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/retail-dw/v1rc1"
  ],
  "type": ["VerifiableCredential", "RetailCredential"],
  "issuer": {
    "id": "https://couponbundler.example/issuer-001",
    "name": "Coupon Bundles, Inc."
  },
  "validFrom": "2023-12-05T00:00:00Z",
  "validUntil": "2024-12-05T00:00:00Z",
  "credentialSubject": {
    "type": "CouponBundle",
    "barCodeData": "0123456789010479832",
    "name": "ClipCo Coupons",
    "description": "Clip and Save Coupons",
    "bundleMatcher": "https://coupon.example/matcher"
  },
  "renderMethod": [{
    "type": "TemplateRenderMethod",
    "renderSuite": "svg-mustache",
    "template": "data:image/svg+xml;base64,Qjei89...3jZpW"
  }, {
    "type": "TemplateRenderMethod",
    "renderSuite": "barcode",
    "name": "Scan at checkout",
    "template": "data:image/png;base64,k38dQGDG2...cjf82Y4BiwG8XJ",
    "renderProperty": ["/credentialSubject/barcode"]
  }]
}
        

Namespaces

This specification makes use of the following namespaces:

rdw
https://w3id.org/retail-dw#
retail
https://w3id.org/retail#
rm
https://w3id.org/vc/render-method#
schema
https://schema.org/
sec
https://w3id.org/security#
vc
https://www.w3.org/2018/credentials#
dc
http://purl.org/dc/terms/
dcterms
http://purl.org/dc/terms/
owl
http://www.w3.org/2002/07/owl#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
xsd
http://www.w3.org/2001/XMLSchema#
vs
http://www.w3.org/2003/06/sw-vocab-status/ns#
schema
http://schema.org/
jsonld
http://www.w3.org/ns/json-ld#

@context files

The following @context files make use of the terms defined in this specification:

Term definitions

Property definitions

The following are property definitions in the rdw namespace.

account

Account

The account number associated with a particular card.

This term is formally defined in another vocabulary (as retail:account), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-benefits/v1rc1

actualSalesPrice

Regular sales price

This term is formally defined in another vocabulary (as retail:actualSalesPrice), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

addressLocality

Address locality (town or city)

This term is formally defined in another vocabulary (as schema:addressLocality), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

addressRegion

Address region (state)

This term is formally defined in another vocabulary (as schema:addressRegion), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

barCodeData

Bar Code Data

This term is formally defined in another vocabulary (as retail:barCodeData), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

bundleMatcher

Coupon Bundle Matching Service

This URL is used to communicate with the coupon bundle service to see if any item associated with a transaction matches the coupon bundle.

The property's value should be a URL, i.e., not a literal.
stable
Domain:
CouponBundle
Relevant @context:
https://w3id.org/retail-dw/v1rc1

cashierID

Cashier Identifier

This term is formally defined in another vocabulary (as retail:cashierID), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

checkDigit

Presence of check digit in point of sale code

This term is formally defined in another vocabulary (as retail:checkDigit), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

confirmationNumber

Confirmation number

This term is formally defined in another vocabulary (as schema:confirmationNumber), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

currency

Monetary currency

This term is formally defined in another vocabulary (as retail:currency), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

description

Description

A unique description for an instance of an item such as loyalty program, membership program, or gift card program that the card is associated with, used to differentiate between various items offered by an organization.

This term is formally defined in another vocabulary (as schema:description), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-benefits/v1rc1

digestMultibase

Multibase-encoded Multihash Digest

A multi-base encoded multihash digest of the associated resource identified using the `id` property.

This term is formally defined in another vocabulary (as sec:digestMultibase), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

discount

Discount

Represents the discount amount associated with a coupon, expressed as a monetary value.

This term is formally defined in another vocabulary (as retail:discount), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

discountAmount

Discount amount

This term is formally defined in another vocabulary (as retail:discountAmount), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

discountName

Discount name

This term is formally defined in another vocabulary (as retail:discountName), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

discountQuantity

Discount quantity

This term is formally defined in another vocabulary (as retail:discountQuantity), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

discountReason

Discount reason

This term is formally defined in another vocabulary (as retail:discountReason), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

encodingFormat

Media Type

The media type associated with the rendering template; usually `application/pdf` or `image/svg+xml`. This property is aliased to `mediaType` in the JSON-LD context.

This term is formally defined in another vocabulary (as schema:encodingFormat), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

eventEndDateTime

Event end date and time

This term is formally defined in another vocabulary (as retail:eventEndDateTime), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

eventStartDateTime

Event start date and time

This term is formally defined in another vocabulary (as retail:eventStartDateTime), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

format

Point of sale code format

This term is formally defined in another vocabulary (as retail:format), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

gtin

GTIN

A property that specifies the GS1 Global Trade Identification Number (GTIN) associated with a product, which uniquely identifies a specific item in the marketplace.
stable
Domain:
RedemptionRule
Relevant @context:
https://w3id.org/retail-dw/v1rc1

image

Image

A property that specifies the URL or identifier of an image associated with the respective entities, used for visual representation in digital or physical formats.

The property's value should be a URL, i.e., not a literal.

This term is formally defined in another vocabulary (as schema:image), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

itemCode

Item code

This term is formally defined in another vocabulary (as retail:itemCode), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

itemTaxes

Item taxes

This term is formally defined in another vocabulary (as retail:itemTaxes), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

location

Location

This term is formally defined in another vocabulary (as schema:location), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

maximumLimit

Maximum Limit

This property represents the maximum limit associated with a redemption rule, indicating the upper threshold related to the conditions of the redemption.
stable
Range:
Observation
Domain:
RedemptionRule
Relevant @context:
https://w3id.org/retail-dw/v1rc1

minimumLimit

Minimum quantity limit

A property that defines the minimum quantity of items that must be purchased or redeemed in order to qualify for the RedemptionRule. This ensures that customers meet specific criteria before applying the redemption.
stable
Range:
Observation
Domain:
RedemptionRule
Relevant @context:
https://w3id.org/retail-dw/v1rc1

name

Name

A short human-readable label that is used to identify a specific instance of an object. The name should be unique to the object. Examples include: "ShopCo Gift Card", "Big Gym Membership Card", and "$5 off YumChips".

This term is formally defined in another vocabulary (as schema:name), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

organizationID

Organization Identifier

This term is formally defined in another vocabulary (as retail:organizationID), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

posCode

Point of sale code

This term is formally defined in another vocabulary (as retail:posCode), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

posCodeFormat

Point of sale code format

This term is formally defined in another vocabulary (as retail:posCodeFormat), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

postalCode

Postal code (ZIP)

This term is formally defined in another vocabulary (as schema:postalCode), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

programIdentifier

Program Identifier

A unique identifier for the loyalty program, membership program, or gift card program that the card is associated with, used to differentiate between various programs offered by an organization.
stable
Domain:
Union of:
LoyaltyCard
MembershipCard
GiftCard
Relevant @context:
https://w3id.org/retail-dw/v1rc1

redemptionRule

Redemption Rule

A property that links a coupon to the specific redemption rules that apply to it, detailing the conditions and terms necessary for the coupon to be successfully redeemed.
stable
Range:
RedemptionRule
Domain:
Coupon
Relevant @context:
https://w3id.org/retail-dw/v1rc1

regularSellPrice

Regular sales price

This term is formally defined in another vocabulary (as retail:regularSellPrice), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

renderMethod

Render Method

A mechanism used to render a visual or wireless expression of the benefit.

This term is formally defined in another vocabulary (as vc:renderMethod), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

renderProperty

Render Property

This term is formally defined in another vocabulary (as rm:renderProperty), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

renderSuite

Render Suite

A mechanism used to render a visual or wireless expression of the benefit.

This term is formally defined in another vocabulary (as rm:renderSuite), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

seller

Seller

This term is formally defined in another vocabulary (as schema:seller), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

sourcePOI

Source point of interaction

This term is formally defined in another vocabulary (as retail:sourcePOI), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

storeLocationID

Store location identifier

This term is formally defined in another vocabulary (as retail:storeLocationID), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

streetAddress

Street address

This term is formally defined in another vocabulary (as schema:streetAddress), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

taxID

Tax Identifier

This term is formally defined in another vocabulary (as schema:taxID), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

telephone

Telephone number

This term is formally defined in another vocabulary (as schema:telephone), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

template

Template

This term is formally defined in another vocabulary (as rm:template), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

tender

Tender information

This term is formally defined in another vocabulary (as retail:tender), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

tenderAmount

Tender amount

This term is formally defined in another vocabulary (as retail:tenderAmount), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

tillID

Till identifier

This term is formally defined in another vocabulary (as retail:tillID), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

token

Token

The payment tokenization value that is known to the token issuer.
stable
Range:
multibase
Domain:
PaymentToken
Relevant @context:
https://w3id.org/retail-dw/v1rc1

transactionDetailGroup

Transaction detail group

This term is formally defined in another vocabulary (as retail:transactionDetailGroup), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

transactionID

Transaction Identifier

This term is formally defined in another vocabulary (as retail:transactionID), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

transactionLineSequenceNumber

Event end date and time

This term is formally defined in another vocabulary (as retail:transactionLineSequenceNumber), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

uom

Unit of Measure

This term is formally defined in another vocabulary (as retail:uom), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

value

A numerical value that is measured in units.

This term is formally defined in another vocabulary (as retail:value), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

Class definitions

The following are class definitions in the rdw namespace.

Amount

Monetary amount

This term is formally defined in another vocabulary (as retail:Amount), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
actualSalesPrice, discountAmount, regularSellPrice, tenderAmount
Domain of:
currency
In the domain of:
value
Relevant @context:
https://w3id.org/retail-dw/v1rc1

Coupon

Coupon

A voucher entitling the holder to a discount or that may be exchanged for goods or services.
stable
Domain of:
redemptionRule
In the domain of:
barCodeData, description, discount, image, name, renderMethod
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "id": "https://coupon.example/12345",
  "type": "Coupon",
  "barCodeData": "0123456789123",
  "description": "$1 off a regular coffee.",
  "discount": {
    "type": "Discount",
    "discountName": "$1 off a regular coffee.",
    "discountReason": "Celebrating 10 years in business!",
    "discountQuantity": {
      "type": "QuantityUN",
      "value": "1",
      "uom": "EA"
    },
    "discountAmount": {
      "type": "Amount",
      "value": "-1.00",
      "currency": "USD"
    }
  }
}

CouponBundle

Coupon Bundle

A collection of coupons that are offered together, often providing multiple discounts or offers. The bundle and a transaction identifier are sent to a bundle matching service which provides information on whether or not the bundle is applicable to the transaction.
stable
Domain of:
bundleMatcher
In the domain of:
barCodeData, description, image, name, renderMethod
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "type": "CouponBundle",
  "barcode": "0123456789010479832",
  "name": "ClipCo Coupons",
  "description": "Clip and Save Coupons",
  "bundleMatcher": "https://coupon.example/matcher"
}

Discount

Discount

This term is formally defined in another vocabulary (as retail:Discount), but is frequently used with this vocabulary and has been included to aid readability of this document.

Domain of:
discountAmount, discountName, discountQuantity, discountReason
Relevant @context:
https://w3id.org/retail-dw/v1rc1

GiftCard

Gift Card

A prepaid card that can be used as an alternative to cash for purchases within a particular store or group of stores.
stable
In the domain of:
account, barCodeData, description, image, name, programIdentifier, renderMethod
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "type": "GiftCard",
  "description": "ShopCo Gift Card",
  "barCodeData": "567789123456",
  "programIdentifier": "567", // Do we need this?
  "account": "789123456",
}

ItemCode

Product item code

This term is formally defined in another vocabulary (as retail:ItemCode), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
itemCode
Domain of:
posCode
Relevant @context:
https://w3id.org/retail-dw/v1rc1

LoyaltyCard

Loyalty Card

A card issued by a retailer to a customer that facilitates accumulation of loyalty points, rewards, or discounts.
stable
In the domain of:
account, barCodeData, description, image, name, programIdentifier, renderMethod
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "type": "LoyaltyCard",
  "name": "ShopCo Points Card",
  "description": "Use when checking out for rewards at ShopCo.",
  "barCodeData": "123456789123",
  "programIdentifier": "123",
  "account": "456789123",
}

MembershipCard

Membership Card

A card that signifies membership in a retail program, granting access to member-exclusive discounts and rewards.
stable
In the domain of:
account, barCodeData, description, image, name, programIdentifier, renderMethod
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "type": "MembershipCard",
  "name": "QuickCo Membership Card",
  "description": "Use when checking out for discounts at QuickCo.",
  "barCodeData": "912345612789",
  "programIdentifier": "912",
  "account": "345612789"
}

MonetaryAmount

Monetary Amount

This term is formally defined in another vocabulary (as schema:MonetaryAmount), but is frequently used with this vocabulary and has been included to aid readability of this document.

Relevant @context:
https://w3id.org/retail-dw/v1rc1

Observation

Observation

This term is formally defined in another vocabulary (as schema:Observation), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
maximumLimit, minimumLimit
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PaymentToken

Payment Token

A tokenized payment instrument that can be used through a payment network that knows how to communicate with the tokenization provider.
stable
Domain of:
token
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "type": "PaymentToken",
  "issuer": "https://tokenizer.example/",
  "token": "uFkNDk1OTI5OWM1ZmIyZGFmY2RkODY5NDllM2Q0YTI3ZT"
}

PosCodeFormat

Point of sale item code format

This term is formally defined in another vocabulary (as retail:PosCodeFormat), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
posCodeFormat
Domain of:
checkDigit, format
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalAgeVerificationLine

Point of sale age verification line entry

This term is formally defined in another vocabulary (as retail:PosJournalAgeVerificationLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
In the domain of:
transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalDiscountLine

Point of sale discount line entry

This term is formally defined in another vocabulary (as retail:PosJournalDiscountLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
In the domain of:
transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalFuelLine

Point of sale fuel line entry

This term is formally defined in another vocabulary (as retail:PosJournalFuelLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
In the domain of:
actualSalesPrice, discount, itemTaxes, regularSellPrice, transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalFuelPrepayLine

Point of sale fuel pre-pay line entry

This term is formally defined in another vocabulary (as retail:PosJournalFuelPrepayLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
In the domain of:
actualSalesPrice, discount, itemTaxes, regularSellPrice, transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalItemLine

Point of sale journal item line entry

This term is formally defined in another vocabulary (as retail:PosJournalItemLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
Domain of:
itemCode
In the domain of:
actualSalesPrice, discount, itemTaxes, regularSellPrice, transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalLinkedTransactionInfo

Point of sale linked transaction information

This term is formally defined in another vocabulary (as retail:PosJournalLinkedTransactionInfo), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
In the domain of:
transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalLoyaltyLine

Point of sale journal loyalty line entry

This term is formally defined in another vocabulary (as retail:PosJournalLoyaltyLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
In the domain of:
transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalMerchandiseCodeLine

Point of sale journal merchandise code line entry

This term is formally defined in another vocabulary (as retail:PosJournalMerchandiseCodeLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
In the domain of:
actualSalesPrice, discount, itemTaxes, regularSellPrice, transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PosJournalTenderInfoLine

Point of sale tender information line entry

This term is formally defined in another vocabulary (as retail:PosJournalTenderInfoLine), but is frequently used with this vocabulary and has been included to aid readability of this document.

Includes the range of:
transactionDetailGroup
Domain of:
tender
In the domain of:
transactionLineSequenceNumber
Relevant @context:
https://w3id.org/retail-dw/v1rc1

PostalAddress

Postal address

This term is formally defined in another vocabulary (as schema:PostalAddress), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
location
Domain of:
addressLocality, addressRegion, postalCode, streetAddress
Relevant @context:
https://w3id.org/retail-dw/v1rc1

QuantityUN

Quantity (UN/CEFACT unit codes)

This term is formally defined in another vocabulary (as retail:QuantityUN), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
discountQuantity
Domain of:
uom
In the domain of:
value
Relevant @context:
https://w3id.org/retail-dw/v1rc1

Rebate

Rebate

A refund or return of part of the purchase price by the seller to the buyer, typically given as a promotional offer.
stable
In the domain of:
barCodeData, image, name, renderMethod
Relevant @context:
https://w3id.org/retail-dw/v1rc1

Receipt

Receipt

A Receipt is a document that acknowledges the payment received for goods or services purchased. It typically includes details such as the date of purchase, the items bought, the total amount paid, and any applicable taxes.
stable
Domain of:
confirmationNumber, eventEndDateTime, eventStartDateTime, seller, transactionDetailGroup, transactionID
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "type": "Receipt",
  "description": "Your Utopia ShopCo Purchase on July 1st 2024",
  "image": "data:image/gif;base64,iVBORw0KGgoAAAANSU...ASUVORK5CYII="
  "confirmationNumber": "F7-3829948",
  "transactionID": "7839",
  "eventStartDateTime": "2025-03-24T18:55:20Z",
  "eventEndDateTime": "2025-03-24T18:57:12Z",
  "seller": {
    "type": "Store",
    "organizationID": "123",
    "description": "ShopCo",
    "taxID": "123457896",
    "storeLocationID": "234",
    "cashierID": "485",
    "sourcePOI": "lane-4",
    "tillID": "1",
    "telephone": "15555554958",
    "location": {
      "type": "PostalAddress",
      "streetAddress": "743 S. Broadway",
      "addressLocality": "Denver",
      "addressRegion": "CO",
      "postalCode": "80209"
    }
  },
  "transactionDetailGroup": [{
    "type": "PosJournalItemLine",
    "transactionLineSequenceNumber": 1,
    "description": "Electro Energy Drink",
    "itemCode": {
      "type": "ItemCode",
      "posCode": "1234567891234",
      "posCodeFormat": {
        "type": "PosCodeFormat",
        "format": "gtin",
        "checkDigit": "present"
      }
    },
    "regularSellPrice": {
      "type": "Amount"
      "value": "3.99",
      "currency": "USD"
    },
    "discount": [{
      "type": "Discount"
      "discountReason": "storeCouponOffer"
      "discountAmount": {
        "type": Amount,
        "value": "-0.50",
        "currency": "USD"
      },
    }],
    "itemTaxes": [{
      "type": "Tax"
      "taxCollectedAmount": {
        "type": "Amount",
        "value": "0.21",
        "currency": "USD"
      }
    }],
    "actualSalesPrice": {
      "type": "Amount"
      "value": "3.49",
      "currency": "USD"
    }
  }, {
    "type": "PosJournalTenderInfoLine",
    "transactionLineSequenceNumber": 2,
    "description": "Payment (Cash)",
    "tender": {
      "type": "TenderID",
      "tenderCode": "cash"
    },
    "tenderAmount": {
      "type": "Amount"
      "value": "3.70",
      "currency": "USD"
    }
  }]
}

RedemptionRule

Redemption Rule

A class representing rules and conditions under which a redemption transaction can be executed in a reward or loyalty program. This includes parameters such as eligibility criteria, expiration dates, and specific terms that must be met for a reward to be redeemed.
stable
Range of:
redemptionRule
Domain of:
gtin, maximumLimit, minimumLimit
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": "https://w3id.org/retail-dw/v1rc1",
  "type": "RedemptionRule",
  "description": "Minimum limit 1 product. Maximum limit 1 per customer.",
  "gtin": "1234567890123",
  "maximumLimit": {
    "type": "Observation",
    "value": "1",
    "unitCode": "IE"
  },
  "minimumLimit": {
    "type": "Observation",
    "value": "1",
    "unitCode": "EA"
  }
}

RenderMethod

Render Method

A mechanism for rendering data to a visual or wireless medium.

This term is formally defined in another vocabulary (as vc:RenderMethod), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
renderMethod
Relevant @context:
https://w3id.org/retail-dw/v1rc1

RetailCredential

Retail Benefit Credential

A credential that represents various benefits offered by retail stores, such as coupons, loyalty points, or gift cards.
stable
Relevant @context:
https://w3id.org/retail-dw/v1rc1
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/retail-dw/v1rc1",
  ]
  "type": ["VerifiableCredential", "RetailCredential"],
  "issuer": {
    "id": "https://company.example/issuer-001",
    "name": "Fast Coffee Company"
  },
  "validFrom": "2023-12-05T00:00:00Z",
  "validUntil": "2024-12-05T00:00:00Z",
  "credentialSubject": {
    "@context": "https://w3id.org/retail-dw/v1rc1",
    "id": "https://coupon.example/12345",
    "type": "Coupon",
    "barCodeData": "0123456789123",
    "name": "$1 off a regular coffee.",
    "description": "Get $1 off any regular coffee. Limit one per customer per visit.",
    "discount": {
      "type": "Discount",
      "discountName": "$1 off a regular coffee.",
      "discountReason": "Celebrating 10 years in business!",
      "discountQuantity": {
        "type": "QuantityUN",
        "value": "1",
        "uom": "EA"
      },
      "discountAmount": {
        "type": "Amount",
        "value": "-1.00",
        "currency": "USD"
      }
    }
  },
  "renderMethod": [{
    "type": "TemplateRenderMethod",
    "renderSuite": "svg-mustache",
    "template": "data:image/svg+xml;base64,Qjei89...3jZpW"
  }, {
    "type": "TemplateRenderMethod",
    "renderSuite": "barcode",
    "name": "Scan at checkout",
    "template": "data:application/vcb;format=pdf417;base64,QGDG2QZkp...cY4BiwG8XJWnRO",
    "renderProperty": ["/credentialSubject/barcode"]
  }, {
    "type": "TemplateRenderMethod",
    "renderSuite": "barcode",
    "name": "Scan at checkout",
    "template": "data:image/png;base64,k38dQGDG2...cjf82Y4BiwG8XJ",
    "renderProperty": ["/credentialSubject/barcode"]
  }]
}
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/retail-dw/v1rc1"
  ],
  "type": ["VerifiableCredential", "RetailCredential"],
  "issuer": {
    "id": "https://shopco.example/",
    "name": "ShopCo"
  },
  "validFrom": "2025-03-01T00:00:00Z",
  "validUntil": "2026-03-01T00:00:00Z",
  "credentialSubject": {
    "type": "LoyaltyCard",
    "name": "ShopCo Points Card",
    "description": "Use when checking out for rewards at ShopCo.",
    "barCodeData": "123456789123",
    "programIdentifier": "123",
    "account": "456789123",
  },
  "renderMethod": [{
    "type": "TemplateRenderMethod",
    "name": "Front of card",
    "renderSuite": "svg-mustache",
    "template": {
      "id": "https://shopco.example/cards/loyalty-front.svg",
      "mediaType": "image/svg+xml",
      "digestMultibase": "uQmerWC85Wg6wFl9znFCwYxApG270iEu5h6JqWAPdhyxz2dR"
    }
  }, {
    "type": "TemplateRenderMethod",
    "name": "Back of card",
    "renderSuite": "svg-mustache",
    "template": {
      "id": "https://shopco.example/cards/loyalty-back.svg",
      "mediaType": "image/svg+xml",
      "digestMultibase": "uQmC85Wg6wAp2dRerW270iEu5h6JqWFl9GAPdhyxzznFCwYx"
    }
  }]
}
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://w3id.org/retail-dw/v1rc1"
  ],
  "type": ["VerifiableCredential", "RetailCredential"],
  "issuer": {
    "id": "https://couponmatcher.example/",
    "name": "ClipCo"
  },
  "validFrom": "2025-04-01T00:00:00Z",
  "validUntil": "2025-10-01T00:00:00Z",
  "credentialSubject": {
    "type": "CouponBundle",
    "barcode": "0123456789010479832",
    "name": "ClipCo Coupons",
    "description": "Clip and Save Coupons",
    "bundleMatcher": "https://couponmatcher.example/matcher"
  },
  "renderMethod": {
    "type": "TemplateRenderMethod",
    "name": "Scan",
    "renderSuite": "svg-mustache",
    "template": {
      "id": "https://couponmatcher.example/bundle.svg",
      "mediaType": "image/svg+xml",
      "digestMultibase": "uQ6JqWAPdhyx5Wg6wFl9znFCwYxApG270iEu5hz2dRmerWC8"
    }
  }
}

Store

Store

This term is formally defined in another vocabulary (as schema:Store), but is frequently used with this vocabulary and has been included to aid readability of this document.

Domain of:
cashierID, location, organizationID, sourcePOI, storeLocationID, taxID, telephone, tillID
Relevant @context:
https://w3id.org/retail-dw/v1rc1

Tax

Tax amount

This term is formally defined in another vocabulary (as retail:Tax), but is frequently used with this vocabulary and has been included to aid readability of this document.

Range of:
itemTaxes
Relevant @context:
https://w3id.org/retail-dw/v1rc1

TemplateRenderMethod

Template Render Method

This term is formally defined in another vocabulary (as rm:TemplateRenderMethod), but is frequently used with this vocabulary and has been included to aid readability of this document.

Domain of:
digestMultibase, encodingFormat, renderProperty, renderSuite, template
In the domain of:
description, name
Relevant @context:
https://w3id.org/retail-dw/v1rc1

Datatype definitions

The following are datatype definitions in the rdw namespace.

multibase

Datatype of Multibase

The Multibase datatype is used to express Multibase values.

This term is formally defined in another vocabulary (as sec:multibase), but is frequently used with this vocabulary and has been included to aid readability of this document.

See also:
The Multibase specification
Range of:
digestMultibase, token
Relevant @context:
https://www.w3.org/ns/credentials/v2