ALPS Large-scale Multi-vendor E-commerce Platform
This ALPS definition covers the key components required for a multi-vendor e-commerce platform like Amazon. It encompasses the main functions of a modern complex e-commerce system, including user management, product catalog, order processing, inventory management, marketplace features, fulfillment, affiliate program, and subscription services. (The transition diagram is for the user side only)
View:
id
title
Tags:
account
auth
cart
catalog
checkout
order
review
shop
support
Semantic Descriptors
Semantic
Safe
Unsafe
Idempotent
type: semantic
title: Address information
descriptor
type: semantic
title: General address
type: semantic
title: Affiliate information
descriptor
type: semantic
title: Affiliate's unique identifier
type: semantic
title: Alternative text
type: semantic
title: Amount
type: semantic
title: Auto-renew
type: semantic
title: Available quantity
type: semantic
title: Base cost
type: semantic
title: Billing address
type: semantic
title: Business address
type: semantic
title: Capacity
type: semantic
title: Shopping cart
descriptor
type: semantic
title: Cart item
descriptor
type: semantic
title: Category
descriptor
type: semantic
title: Category
type: semantic
title: City name
type: semantic
title: Click count
type: semantic
title: Comment
type: semantic
title: Commission rate
type: semantic
title: Confirm new password
type: semantic
title: Contact information
type: semantic
title: Conversion rate
type: semantic
title: Country name
type: semantic
title: Coupon code
type: semantic
title: Creation date and time
type: semantic
title: Currency
type: semantic
title: Current password
type: semantic
title: Description
type: semantic
title: Dimensions
type: semantic
title: Discount information
descriptor
type: semantic
title: Discount amount
type: semantic
title: Discount's unique identifier
type: semantic
title: Discount type
type: unsafe
title: Add to cart
doc: Adds the specified product to the user's shopping cart in the specified quantity. This operation is one of the core functions of an e-commerce platform and is a crucial point for capturing user purchase intent. During execution, real-time inventory checks, price recalculations, and related product recommendations are processed. It also identifies opportunities for cross-selling and up-selling based on the user's past behavior. Cart state changes are immediately reflected in the inventory management system to avoid affecting other customers' shopping experiences. From a performance and user experience perspective, this operation needs to be fast, reliable, and provide clear feedback to the user.
rt: UserCart
descriptor
id
type
title
productId
semantic
Product's unique identifier
quantity
semantic
Quantity
id
type
title
reviewId
semantic
Review's unique identifier
type: idempotent
title: Login
rt: UserHome
descriptor
type: idempotent
title: Logout
rt: Login
type: idempotent
title: User registration
rt: UserHome
descriptor
type: idempotent
title: Remove cart item
rt: UserCart
descriptor
id
type
title
productId
semantic
Product's unique identifier
id
type
title
orderId
semantic
Order's unique identifier
reason
semantic
Reason
id
type
title
orderId
semantic
Order's unique identifier
reason
semantic
Reason
type: idempotent
title: Update cart item
rt: UserCart
descriptor
id
type
title
productId
semantic
Product's unique identifier
quantity
semantic
Quantity
id
type
title
reviewId
semantic
Review's unique identifier
rating
semantic
Rating
comment
semantic
Comment
type: idempotent
title: Update user profile
rt: UserProfile
descriptor
id
type
title
name
semantic
Name (product name, category name, etc.)
email
semantic
User's email address
phoneNumber
semantic
Phone number
address
semantic
General address
type: semantic
title: Earnings
type: semantic
title: User's email address
doc: User's primary contact method. Used for account authentication and important notifications. Must be unique and requires proper format validation. Also serves as the destination for marketing communications and transaction notifications, and is a crucial element of user engagement.
type: semantic
title: End date
type: semantic
title: Estimated delivery date
type: semantic
title: Expiry date
type: semantic
title: Format
type: semantic
title: Free shipping threshold
type: semantic
title: Fulfillment center
descriptor
id
type
title
name
semantic
Name (product name, category name, etc.)
address
semantic
General address
capacity
semantic
Capacity
operatingHours
semantic
Operating hours
type: semantic
title: User's full name
type: safe
title: Go to login page
rt: Login
type: safe
title: Go to registration page
doc: Navigates the user to the new account creation page. This transition is the starting point of the new user acquisition process and an important step in the conversion funnel. To optimize user experience and increase registration completion rates, the transition to this page needs to be smooth and intuitive. It's also important to maintain the user's current context (e.g., the product page they were viewing) so they can seamlessly return to it after registration.
rt: Register
type: safe
title: Go to user cart
rt: UserCart
type: safe
title: Go to user home
rt: UserHome
type: safe
title: Go to user review page
rt: UserReview
type: semantic
title: Height
type: semantic
title: Number of helpful votes
type: semantic
title: Image information
descriptor
id
type
title
imageId
semantic
Image's unique identifier
url
semantic
URL
altText
semantic
Alternative text
width
semantic
Width
height
semantic
Height
size
semantic
Size
format
semantic
Format
type: semantic
title: Image's unique identifier
type: semantic
title: Inventory
descriptor
type: semantic
title: Inventory count
type: semantic
title: Whether it's active
type: semantic
title: Whether it's customizable
type: semantic
title: Whether it's default
type: semantic
title: Whether it's in stock
type: semantic
title: Whether it's read
type: semantic
title: Lead time
type: semantic
title: Login
tag: auth
descriptor
type: semantic
title: Low stock warning threshold
type: semantic
title: Marketplace information
descriptor
type: semantic
title: Marketplace's unique identifier
type: semantic
title: Message
type: semantic
title: Minimum order quantity
type: semantic
title: Amount
descriptor
type: semantic
title: Name (product name, category name, etc.)
doc: Display name of the product. Important for SEO optimization and product search. Multi-language support should be considered. It's the primary element for customers to identify and understand the product, used in search results and product listings. It needs to be clear, attractive, and accurate.
type: semantic
title: New password
type: semantic
title: Notification information
descriptor
id
type
title
notificationId
semantic
Notification's unique identifier
userId
semantic
User's unique identifier
message
semantic
Message
isRead
semantic
Whether it's read
createdAt
semantic
Creation date and time
type: semantic
title: Notification's unique identifier
type: semantic
title: Operating hours
type: semantic
title: Order
descriptor
type: semantic
title: Order's unique identifier
type: semantic
title: Order item
descriptor
type: semantic
title: Page number
type: semantic
title: Page size
type: semantic
title: Parent category
type: semantic
title: Payment method
descriptor
type: semantic
title: Payment method
type: semantic
title: Payment terms
type: semantic
title: Performance metrics
type: semantic
title: Phone number
type: semantic
title: Plan
type: semantic
title: Postal code
type: semantic
title: Price
doc: Current price of the product. Interacts with dynamic pricing algorithms, promotions, and tax calculations. Must support different currencies and price ranges. Directly affects customer purchasing decisions and is a crucial element in balancing competitiveness and profitability. Also used for tracking price history and analyzing price trends across the marketplace.
type: semantic
title: Product information
doc: Represents individual goods or services sold on the platform. Supports various product types including physical goods, digital products, and services. The accuracy and completeness of product information directly affects customer purchasing decisions and platform credibility. It is a central entity that interacts with many components, including search engines, recommendation systems, and inventory management systems.
descriptor
type: semantic
title: Product's unique identifier
doc: Product's unique identifier. Works in conjunction with SKU (Stock Keeping Unit) to maintain consistency with the inventory management system. Serves as a crucial reference point for many system functions, including order processing, inventory tracking, and product search. Must be globally unique to ensure product uniqueness in a multi-vendor environment.
type: semantic
title: URL of user's profile image
type: semantic
title: Promotion
descriptor
type: semantic
title: Quantity
doc: Quantity of products to add to the cart. This value is used for inventory availability checks and price calculations. It also serves as a condition for bulk purchases and quantity discounts.
type: semantic
title: Rating
descriptor
type: semantic
title: Rating
type: semantic
title: Reason
type: semantic
title: User Registration
tag: auth , account
descriptor
type: semantic
title: Registration date and time
type: semantic
title: Reserved quantity
type: semantic
title: Review information
descriptor
type: semantic
title: Review count
type: semantic
title: Review date
type: semantic
title: Review's unique identifier
type: semantic
title: User's role in the system
doc: Defines the user's permission level in the system. Examples: CUSTOMER, SELLER, AFFILIATE, ADMIN. Works in conjunction with a role-based access control (RBAC) system to determine what operations a user can perform and what information they can view. Essential for platform security and customization of user experience.
type: semantic
title: Search keyword
type: semantic
title: Seller information
descriptor
type: semantic
title: Seller's unique identifier
type: semantic
title: Shipping address
type: semantic
title: Shipping method
descriptor
type: semantic
title: Size
type: semantic
title: Start date
type: semantic
title: State or prefecture name
type: semantic
title: Status (order status, etc.)
type: semantic
title: Street name and number
type: semantic
title: Subcategory
type: semantic
title: Subscription information
descriptor
type: semantic
title: Subscription's unique identifier
type: semantic
title: Supplier information
descriptor
type: semantic
title: Supplier's unique identifier
type: semantic
title: Tax information
type: semantic
title: Total amount
type: semantic
title: Tracking number
type: semantic
title: Update date and time
type: semantic
title: URL
type: semantic
title: User information
doc: Represents individual accounts on the platform. Includes users with various roles such as customers, sellers, affiliates, and administrators. This is a crucial entity that forms the basis for user behavior tracking, authentication, personalization, and permission management.
descriptor
id
type
title
userId
semantic
User's unique identifier
username
semantic
User's username
email
semantic
User's email address
fullName
semantic
User's full name
profileImage
semantic
URL of user's profile image
role
semantic
User's role in the system
createdAt
semantic
Creation date and time
updatedAt
semantic
Update date and time
type: semantic
title: Cart
tag: cart , shop
descriptor
type: semantic
title: Checkout
tag: checkout , shop
descriptor
type: semantic
title: User's unique identifier
doc: User's unique identifier. Uses UUID to ensure unpredictable and secure values. Used to uniquely identify users across the system and serves as the foundation for security and data integrity.
type: semantic
title: User's username
type: semantic
title: Order Detail
tag: order
descriptor
type: semantic
title: Order History
tag: order
descriptor
type: semantic
title: Product Detail
tag: catalog , shop
descriptor
type: semantic
title: Product List
tag: catalog , shop
descriptor
type: semantic
title: User Profile
descriptor
type: semantic
title: Return/Refund
tag: support , order
descriptor
type: semantic
title: User Review
tag: review , shop
descriptor
type: semantic
title: Valid from
type: semantic
title: Valid to
type: semantic
title: Verified purchase
type: semantic
title: Website
type: semantic
title: Weight
type: semantic
title: Width
type: semantic
title: Wishlist
descriptor
id
type
title
userId
semantic
User's unique identifier
WishlistItem
semantic
Wishlist item
type: semantic
title: Wishlist item
descriptor
id
type
title
productId
semantic
Product's unique identifier
updatedAt
semantic
Update date and time
Profile
{
"$schema": "https://alps-io.github.io/schemas/alps.json",
"alps": {
"title": "ALPS Large-scale Multi-vendor E-commerce Platform",
"version": "1.0",
"doc": {
"value": "This ALPS definition covers the key components required for a multi-vendor e-commerce platform like Amazon. It encompasses the main functions of a modern complex e-commerce system, including user management, product catalog, order processing, inventory management, marketplace features, fulfillment, affiliate program, and subscription services. (The transition diagram is for the user side only)"
},
"descriptor": [
{"id": "userId", "title": "User's unique identifier", "doc": {
"value": "User's unique identifier. Uses UUID to ensure unpredictable and secure values. Used to uniquely identify users across the system and serves as the foundation for security and data integrity."
}},
{"id": "username", "title": "User's username"},
{"id": "email", "title": "User's email address", "doc": {
"value": "User's primary contact method. Used for account authentication and important notifications. Must be unique and requires proper format validation. Also serves as the destination for marketing communications and transaction notifications, and is a crucial element of user engagement."
}},
{"id": "fullName", "title": "User's full name"},
{"id": "profileImage", "title": "URL of user's profile image"},
{"id": "role", "title": "User's role in the system", "doc": {
"value": "Defines the user's permission level in the system. Examples: CUSTOMER, SELLER, AFFILIATE, ADMIN. Works in conjunction with a role-based access control (RBAC) system to determine what operations a user can perform and what information they can view. Essential for platform security and customization of user experience.",
"link": [
{
"rel": "describedby",
"href": "role.md"
}
]
}},
{"id": "productId", "title": "Product's unique identifier",
"doc": {
"value": "Product's unique identifier. Works in conjunction with SKU (Stock Keeping Unit) to maintain consistency with the inventory management system. Serves as a crucial reference point for many system functions, including order processing, inventory tracking, and product search. Must be globally unique to ensure product uniqueness in a multi-vendor environment."
}
},
{"id": "name", "title": "Name (product name, category name, etc.)",
"doc": {
"value": "Display name of the product. Important for SEO optimization and product search. Multi-language support should be considered. It's the primary element for customers to identify and understand the product, used in search results and product listings. It needs to be clear, attractive, and accurate."
}},
{"id": "description", "title": "Description"},
{"id": "price", "title": "Price", "doc": {
"value": "Current price of the product. Interacts with dynamic pricing algorithms, promotions, and tax calculations. Must support different currencies and price ranges. Directly affects customer purchasing decisions and is a crucial element in balancing competitiveness and profitability. Also used for tracking price history and analyzing price trends across the marketplace."
}},
{"id": "category", "title": "Category"},
{"id": "subcategory", "title": "Subcategory"},
{"id": "inventory", "title": "Inventory count"},
{"id": "weight", "title": "Weight"},
{"id": "dimensions", "title": "Dimensions"},
{"id": "isCustomizable", "title": "Whether it's customizable"},
{"id": "createdAt", "title": "Creation date and time"},
{"id": "updatedAt", "title": "Update date and time"},
{"id": "orderId", "title": "Order's unique identifier"},
{"id": "totalAmount", "title": "Total amount"},
{"id": "status", "title": "Status (order status, etc.)"},
{"id": "address", "title": "General address"},
{"id": "shippingAddress", "title": "Shipping address"},
{"id": "billingAddress", "title": "Billing address"},
{"id": "paymentMethod", "title": "Payment method"},
{"id": "street", "title": "Street name and number"},
{"id": "city", "title": "City name"},
{"id": "state", "title": "State or prefecture name"},
{"id": "postalCode", "title": "Postal code"},
{"id": "country", "title": "Country name"},
{"id": "phoneNumber", "title": "Phone number"},
{"id": "amount", "title": "Amount"},
{"id": "currency", "title": "Currency"},
{"id": "supplierId", "title": "Supplier's unique identifier"},
{"id": "contactInfo", "title": "Contact information"},
{"id": "rating", "title": "Rating"},
{"id": "paymentTerms", "title": "Payment terms"},
{"id": "leadTime", "title": "Lead time"},
{"id": "minimumOrderQuantity", "title": "Minimum order quantity"},
{"id": "discountId", "title": "Discount's unique identifier"},
{"id": "discountType", "title": "Discount type"},
{"id": "discountAmount", "title": "Discount amount"},
{"id": "validFrom", "title": "Valid from"},
{"id": "validTo", "title": "Valid to"},
{"id": "couponCode", "title": "Coupon code"},
{"id": "imageId", "title": "Image's unique identifier"},
{"id": "url", "title": "URL"},
{"id": "altText", "title": "Alternative text"},
{"id": "width", "title": "Width"},
{"id": "height", "title": "Height"},
{"id": "size", "title": "Size"},
{"id": "format", "title": "Format"},
{"id": "reviewId", "title": "Review's unique identifier"},
{"id": "comment", "title": "Comment"},
{"id": "reviewDate", "title": "Review date"},
{"id": "helpfulVotes", "title": "Number of helpful votes"},
{"id": "verifiedPurchase", "title": "Verified purchase"},
{"id": "notificationId", "title": "Notification's unique identifier"},
{"id": "message", "title": "Message"},
{"id": "isRead", "title": "Whether it's read"},
{"id": "marketplaceId", "title": "Marketplace's unique identifier"},
{"id": "commissionRate", "title": "Commission rate"},
{"id": "sellerId", "title": "Seller's unique identifier"},
{"id": "businessAddress", "title": "Business address"},
{"id": "taxInformation", "title": "Tax information"},
{"id": "performanceMetrics", "title": "Performance metrics"},
{"id": "affiliateId", "title": "Affiliate's unique identifier"},
{"id": "website", "title": "Website"},
{"id": "earnings", "title": "Earnings"},
{"id": "clickCount", "title": "Click count"},
{"id": "conversionRate", "title": "Conversion rate"},
{"id": "subscriptionId", "title": "Subscription's unique identifier"},
{"id": "plan", "title": "Plan"},
{"id": "startDate", "title": "Start date"},
{"id": "endDate", "title": "End date"},
{"id": "autoRenew", "title": "Auto-renew"},
{"id": "quantity", "title": "Quantity", "doc": {
"value": "Quantity of products to add to the cart. This value is used for inventory availability checks and price calculations. It also serves as a condition for bulk purchases and quantity discounts."
}},
{"id": "isDefault", "title": "Whether it's default"},
{"id": "isActive", "title": "Whether it's active"},
{"id": "expiryDate", "title": "Expiry date"},
{"id": "trackingNumber", "title": "Tracking number"},
{"id": "estimatedDeliveryDate", "title": "Estimated delivery date"},
{"id": "isInStock", "title": "Whether it's in stock"},
{"id": "lowStockThreshold", "title": "Low stock warning threshold"},
{"id": "reservedQuantity", "title": "Reserved quantity"},
{"id": "availableQuantity", "title": "Available quantity"},
{"id": "baseCost", "title": "Base cost"},
{"id": "freeShippingThreshold", "title": "Free shipping threshold"},
{"id": "parentCategory", "title": "Parent category"},
{"id": "capacity", "title": "Capacity"},
{"id": "operatingHours", "title": "Operating hours"},
{"id": "reviewCount", "title": "Review count"},
{"id": "currentPassword", "title": "Current password"},
{"id": "newPassword","title": "New password"},
{"id": "confirmNewPassword", "title": "Confirm new password"},
{"id": "registrationDate", "title": "Registration date and time"},
{"id": "reason", "title": "Reason"},
{"id": "searchKeyword", "title": "Search keyword"},
{"id": "pageNumber", "title": "Page number"},
{"id": "pageSize", "title": "Page size"},
{
"id": "User",
"title": "User information",
"doc": {
"value": "Represents individual accounts on the platform. Includes users with various roles such as customers, sellers, affiliates, and administrators. This is a crucial entity that forms the basis for user behavior tracking, authentication, personalization, and permission management."
},
"descriptor": [
{"href": "#userId"},
{"href": "#username"},
{"href": "#email"},
{"href": "#fullName"},
{"href": "#profileImage"},
{"href": "#role"},
{"href": "#createdAt"},
{"href": "#updatedAt"}
]
},
{
"id": "Product",
"title": "Product information",
"doc": {
"value": "Represents individual goods or services sold on the platform. Supports various product types including physical goods, digital products, and services. The accuracy and completeness of product information directly affects customer purchasing decisions and platform credibility. It is a central entity that interacts with many components, including search engines, recommendation systems, and inventory management systems."
},
"descriptor": [
{"href": "#productId"},
{"href": "#name"},
{"href": "#description"},
{"href": "#price"},
{"href": "#category"},
{"href": "#subcategory"},
{"href": "#inventory"},
{"href": "#weight"},
{"href": "#dimensions"},
{"href": "#isCustomizable"},
{"href": "#createdAt"},
{"href": "#updatedAt"}
]
},
{
"id": "Order",
"title": "Order information",
"descriptor": [
{"href": "#orderId"},
{"href": "#userId"},
{"href": "#totalAmount"},
{"href": "#status"},
{"href": "#shippingAddress"},
{"href": "#billingAddress"},
{"href": "#paymentMethod"},
{"href": "#createdAt"},
{"href": "#updatedAt"}
]
},
{
"id": "Address",
"title": "Address information",
"descriptor": [
{"href": "#street"},
{"href": "#city"},
{"href": "#state"},
{"href": "#postalCode"},
{"href": "#country"},
{"href": "#phoneNumber"}
]
},
{
"id": "PaymentMethod",
"title": "Payment method",
"descriptor": [
{"href": "#paymentMethod"},
{"href": "#name"},
{"href": "#description"}
]
},
{
"id": "Supplier",
"title": "Supplier information",
"descriptor": [
{"href": "#supplierId"},
{"href": "#name"},
{"href": "#contactInfo"},
{"href": "#rating"},
{"href": "#paymentTerms"},
{"href": "#leadTime"},
{"href": "#minimumOrderQuantity"}
]
},
{
"id": "Discount",
"title": "Discount information",
"descriptor": [
{"href": "#discountId"},
{"href": "#name"},
{"href": "#description"},
{"href": "#discountType"},
{"href": "#discountAmount"},
{"href": "#validFrom"},
{"href": "#validTo"},
{"href": "#couponCode"}
]
},
{
"id": "Image",
"title": "Image information",
"descriptor": [
{"href": "#imageId"},
{"href": "#url"},
{"href": "#altText"},
{"href": "#width"},
{"href": "#height"},
{"href": "#size"},
{"href": "#format"}
]
},
{
"id": "Review",
"title": "Review information",
"descriptor": [
{"href": "#reviewId"},
{"href": "#userId"},
{"href": "#productId"},
{"href": "#rating"},
{"href": "#comment"},
{"href": "#reviewDate"},
{"href": "#helpfulVotes"},
{"href": "#verifiedPurchase"}
]
},
{
"id": "Notification",
"title": "Notification information",
"descriptor": [
{"href": "#notificationId"},
{"href": "#userId"},
{"href": "#message"},
{"href": "#isRead"},
{"href": "#createdAt"}
]
},
{
"id": "Marketplace",
"title": "Marketplace information",
"descriptor": [
{"href": "#marketplaceId"},
{"href": "#name"},
{"href": "#description"},
{"href": "#commissionRate"}
]
},
{
"id": "Seller",
"title": "Seller information",
"descriptor": [
{"href": "#sellerId"},
{"href": "#name"},
{"href": "#email"},
{"href": "#phoneNumber"},
{"href": "#businessAddress"},
{"href": "#taxInformation"},
{"href": "#performanceMetrics"},
{"href": "#createdAt"}
]
},
{
"id": "Affiliate",
"title": "Affiliate information",
"descriptor": [
{"href": "#affiliateId"},
{"href": "#name"},
{"href": "#email"},
{"href": "#website"},
{"href": "#earnings"},
{"href": "#clickCount"},
{"href": "#conversionRate"}
]
},
{
"id": "Subscription",
"title": "Subscription information",
"descriptor": [
{"href": "#subscriptionId"},
{"href": "#userId"},
{"href": "#plan"},
{"href": "#startDate"},
{"href": "#endDate"},
{"href": "#status"},
{"href": "#autoRenew"},
{"href": "#price"}
]
},
{
"id": "CartItem",
"title": "Cart item",
"descriptor": [
{"href": "#productId"},
{"href": "#quantity"},
{"href": "#price"}
]
},
{
"id": "Cart",
"title": "Shopping cart",
"descriptor": [
{"href": "#userId"},
{"href": "#CartItem"},
{"href": "#totalAmount"},
{"href": "#updatedAt"}
]
},
{
"id": "WishlistItem",
"title": "Wishlist item",
"descriptor": [
{"href": "#productId"},
{"href": "#updatedAt"}
]
},
{
"id": "Wishlist",
"title": "Wishlist",
"descriptor": [
{"href": "#userId"},
{"href": "#WishlistItem"}
]
},
{
"id": "Promotion",
"title": "Promotion",
"descriptor": [
{"href": "#name"},
{"href": "#description"},
{"href": "#discountType"},
{"href": "#discountAmount"},
{"href": "#validFrom"},
{"href": "#validTo"},
{"href": "#couponCode"},
{"href": "#isActive"}
]
},
{
"id": "Inventory",
"title": "Inventory",
"descriptor": [
{"href": "#productId"},
{"href": "#quantity"},
{"href": "#isInStock"},
{"href": "#lowStockThreshold"},
{"href": "#reservedQuantity"},
{"href": "#availableQuantity"},
{"href": "#updatedAt"}
]
},
{
"id": "ShippingMethod",
"title": "Shipping method",
"descriptor": [
{"href": "#name"},
{"href": "#description"},
{"href": "#baseCost"},
{"href": "#estimatedDeliveryDate"},
{"href": "#freeShippingThreshold"},
{"href": "#isActive"}
]
},
{
"id": "Category",
"title": "Category",
"descriptor": [
{"href": "#name"},
{"href": "#description"},
{"href": "#parentCategory"},
{"href": "#isActive"}
]
},
{
"id": "FulfillmentCenter",
"title": "Fulfillment center",
"descriptor": [
{"href": "#name"},
{"href": "#address"},
{"href": "#capacity"},
{"href": "#operatingHours"}
]
},
{
"id": "Money",
"title": "Amount",
"descriptor": [
{"href": "#amount"},
{"href": "#currency"}
]
},
{
"id": "Rating",
"title": "Rating",
"descriptor": [
{"href": "#rating"},
{"href": "#reviewCount"}
]
},
{
"id": "OrderItem",
"title": "Order item",
"descriptor": [
{"href": "#productId"},
{"href": "#quantity"},
{"href": "#price"},
{"href": "#discountId"}
]
},
{
"id": "Order",
"title": "Order",
"descriptor": [
{"href": "#orderId"},
{"href": "#userId"},
{"href": "#OrderItem"},
{"href": "#totalAmount"},
{"href": "#status"},
{"href": "#shippingAddress"},
{"href": "#billingAddress"},
{"href": "#paymentMethod"},
{"href": "#ShippingMethod"},
{"href": "#trackingNumber"},
{"href": "#createdAt"},
{"href": "#updatedAt"}
]
},
{
"id": "Login",
"type": "semantic",
"title": "Login",
"tag": "auth",
"descriptor": [
{"href": "#doLogin"},
{"href": "#goToRegister"}
]
},
{
"id": "Register",
"type": "semantic",
"title": "User Registration",
"tag": "auth account",
"descriptor": [
{"href": "#doRegister"},
{"href": "#goToLogin"}
]
},
{
"id": "UserHome",
"type": "semantic",
"title": "User Home",
"tag": "account catalog",
"descriptor": [
{"href": "#goToUserProductList"},
{"href": "#goToUserCart"},
{"href": "#goToUserOrderHistory"},
{"href": "#goToUserProfile"},
{"href": "#doLogout"}
]
},
{
"id": "UserProfile",
"type": "semantic",
"title": "User Profile",
"tag": "account",
"descriptor": [
{"href": "#doUpdateUserProfile"},
{"href": "#goToUserHome"}
]
},
{
"id": "UserProductList",
"type": "semantic",
"title": "Product List",
"tag": "catalog shop",
"descriptor": [
{"href": "#goToUserProductDetail"},
{"href": "#goToUserHome"},
{"href": "#goSearchProducts"},
{"href": "#goPaginateProducts"}
]
},
{
"id": "UserProductDetail",
"type": "semantic",
"title": "Product Detail",
"tag": "catalog shop",
"descriptor": [
{"href": "#doAddToCart"},
{"href": "#goToUserProductList"},
{"href": "#goToUserCart"},
{"href": "#goToUserReview"}
]
},
{
"id": "UserCart",
"type": "semantic",
"title": "Cart",
"tag": "cart shop",
"descriptor": [
{"href": "#doUpdateCartItem"},
{"href": "#doRemoveCartItem"},
{"href": "#goToUserCheckout"},
{"href": "#goToUserHome"}
]
},
{
"id": "UserCheckout",
"type": "semantic",
"title": "Checkout",
"tag": "checkout shop",
"descriptor": [
{"href": "#doPlaceOrder"},
{"href": "#goToUserCart"},
{"href": "#goToUserHome"}
]
},
{
"id": "UserOrderHistory",
"type": "semantic",
"title": "Order History",
"tag": "order",
"descriptor": [
{"href": "#goToUserOrderDetail"},
{"href": "#goToUserHome"},
{"href": "#goPaginateOrders"}
]
},
{
"id": "UserOrderDetail",
"type": "semantic",
"title": "Order Detail",
"tag": "order",
"descriptor": [
{"href": "#goToUserOrderHistory"},
{"href": "#goToUserHome"},
{"href": "#goToUserReturnRefund"}
]
},
{
"id": "UserProfile",
"type": "semantic",
"title": "User Profile",
"descriptor": [
{"href": "#doUpdateUserProfile"},
{"href": "#goToUserHome"}
]
},
{
"id": "UserReview",
"type": "semantic",
"title": "User Review",
"tag": "review shop",
"descriptor": [
{"href": "#doAddReview"},
{"href": "#doUpdateReview"},
{"href": "#doDeleteReview"},
{"href": "#goToUserProductDetail"}
]
},
{
"id": "UserReturnRefund",
"type": "semantic",
"title": "Return/Refund",
"tag": "support order",
"descriptor": [
{"href": "#doRequestReturn"},
{"href": "#doRequestRefund"},
{"href": "#goToUserOrderDetail"}
]
},
{
"id": "goToRegister",
"type": "safe",
"title": "Go to registration page",
"doc": {
"value": "Navigates the user to the new account creation page. This transition is the starting point of the new user acquisition process and an important step in the conversion funnel. To optimize user experience and increase registration completion rates, the transition to this page needs to be smooth and intuitive. It's also important to maintain the user's current context (e.g., the product page they were viewing) so they can seamlessly return to it after registration."
},
"rt": "#Register"
},
{
"id": "goToLogin",
"type": "safe",
"title": "Go to login page",
"rt": "#Login"
},
{
"id": "goToUserHome",
"type": "safe",
"title": "Go to user home",
"rt": "#UserHome"
},
{
"id": "goToUserProductList",
"type": "safe",
"title": "Go to user product list",
"rt": "#UserProductList"
},
{
"id": "goToUserProductDetail",
"type": "safe",
"title": "Go to user product detail",
"rt": "#UserProductDetail"
},
{
"id": "goToUserCart",
"type": "safe",
"title": "Go to user cart",
"rt": "#UserCart"
},
{
"id": "goToUserCheckout",
"type": "safe",
"title": "Go to user checkout",
"rt": "#UserCheckout"
},
{
"id": "goToUserOrderHistory",
"type": "safe",
"title": "Go to user order history",
"rt": "#UserOrderHistory"
},
{
"id": "goToUserOrderDetail",
"type": "safe",
"title": "Go to user order detail",
"rt": "#UserOrderDetail"
},
{
"id": "goToUserProfile",
"type": "safe",
"title": "Go to user profile",
"rt": "#UserProfile"
},
{
"id": "goToUserReview",
"type": "safe",
"title": "Go to user review page",
"rt": "#UserReview"
},
{
"id": "goToUserReturnRefund",
"type": "safe",
"title": "Go to return/refund page",
"rt": "#UserReturnRefund"
},
{
"id": "doLogin",
"type": "idempotent",
"title": "Login",
"rt": "#UserHome",
"descriptor": [
{"href": "#email"},
{"href": "#currentPassword"}
]
},
{
"id": "doLogout",
"type": "idempotent",
"title": "Logout",
"rt": "#Login"
},
{
"id": "doRegister",
"type": "idempotent",
"title": "User registration",
"rt": "#UserHome",
"descriptor": [
{"href": "#name"},
{"href": "#email"},
{"href": "#currentPassword"},
{"href": "#confirmNewPassword"}
]
},
{
"id": "doAddToCart",
"type": "unsafe",
"title": "Add to cart",
"doc": {
"value": "Adds the specified product to the user's shopping cart in the specified quantity. This operation is one of the core functions of an e-commerce platform and is a crucial point for capturing user purchase intent. During execution, real-time inventory checks, price recalculations, and related product recommendations are processed. It also identifies opportunities for cross-selling and up-selling based on the user's past behavior. Cart state changes are immediately reflected in the inventory management system to avoid affecting other customers' shopping experiences. From a performance and user experience perspective, this operation needs to be fast, reliable, and provide clear feedback to the user."
},
"rt": "#UserCart",
"descriptor": [
{"href": "#productId"},
{"href": "#quantity"}
]
},
{
"id": "doUpdateCartItem",
"type": "idempotent",
"title": "Update cart item",
"rt": "#UserCart",
"descriptor": [
{"href": "#productId"},
{"href": "#quantity"}
]
},
{
"id": "doRemoveCartItem",
"type": "idempotent",
"title": "Remove cart item",
"rt": "#UserCart",
"descriptor": [
{"href": "#productId"}
]
},
{
"id": "doPlaceOrder",
"type": "idempotent",
"title": "Place order",
"rt": "#UserOrderDetail",
"descriptor": [
{"href": "#shippingAddress"},
{"href": "#paymentMethod"}
]
},
{
"id": "doUpdateUserProfile",
"type": "idempotent",
"title": "Update user profile",
"rt": "#UserProfile",
"descriptor": [
{"href": "#name"},
{"href": "#email"},
{"href": "#phoneNumber"},
{"href": "#address"}
]
},
{
"id": "doAddReview",
"type": "idempotent",
"title": "Add review",
"rt": "#UserProductDetail",
"descriptor": [
{"href": "#productId"},
{"href": "#rating"},
{"href": "#comment"}
]
},
{
"id": "doUpdateReview",
"type": "idempotent",
"title": "Update review",
"rt": "#UserProductDetail",
"descriptor": [
{"href": "#reviewId"},
{"href": "#rating"},
{"href": "#comment"}
]
},
{
"id": "doDeleteReview",
"type": "idempotent",
"title": "Delete review",
"rt": "#UserProductDetail",
"descriptor": [
{"href": "#reviewId"}
]
},
{
"id": "doRequestReturn",
"type": "idempotent",
"title": "Request return",
"rt": "#UserOrderDetail",
"descriptor": [
{"href": "#orderId"},
{"href": "#reason"}
]
},
{
"id": "doRequestRefund",
"type": "idempotent",
"title": "Request refund",
"rt": "#UserOrderDetail",
"descriptor": [
{"href": "#orderId"},
{"href": "#reason"}
]
},
{
"id": "goSearchProducts",
"type": "safe",
"title": "Search products",
"rt": "#UserProductList",
"descriptor": [
{"href": "#searchKeyword"},
{"href": "#category"},
{"href": "#subcategory"}
]
},
{
"id": "goPaginateProducts",
"type": "safe",
"title": "Paginate product list",
"rt": "#UserProductList",
"descriptor": [
{"href": "#pageNumber"},
{"href": "#pageSize"}
]
},
{
"id": "goPaginateOrders",
"type": "safe",
"title": "Paginate order list",
"rt": "#UserOrderHistory",
"descriptor": [
{"href": "#pageNumber"},
{"href": "#pageSize"}
]
}
]
}
}