type Product {
id: string
name: string
price: number
description: string
stock: number
}
type Order {
id: string
customerId: string
items: array
status: OrderStatus
total: number
createdAt: datetime
}
type Review {
id: string
productId: string
rating: number
comment: string
author: string
}
enum OrderStatus {
pending
processing
shipped
delivered
cancelled
refunded
}
enum UserRole {
customer
seller
admin
support
}
role CustomerRole {
permission orders {
create,
read,
cancel
}
permission products {
read,
search
}
permission reviews {
create,
read
}
permission account {
read,
update
}
}
role SellerRole {
permission products {
create,
read,
update,
delete
}
permission orders {
read
}
permission analytics {
read
}
}
role AdminRole {
permission users {
create,
read,
update,
delete
}
permission products {
create,
read,
update,
delete
}
permission orders {
read,
update,
cancel
}
permission system {
read,
update,
delete
}
}
workflow OrderProcessing {
initial pending
state pending -> processing, cancelled
state processing -> shipped, cancelled
state shipped -> delivered
state delivered -> completed
state cancelled -> refunded
state refunded -> completed
}
workflow ProductLifecycle {
initial draft
state draft -> active
state active -> archived
state archived -> draft, active
}
agent OrderProcessor: AdminRole {
fetchOrder
validateOrder
processPayment
updateOrderStatus
sendNotificationToCustomer
handleRefunds
}
agent ProductCatalogManager: SellerRole {
createProduct
updateProductDetails
manageInventory
publishProduct
archiveProduct
viewAnalytics
}
agent CustomerSupportAgent: AdminRole {
retrieveCustomer
viewOrderHistory
processRefund
updateOrderStatus
sendNotifications
}
visitor {
browse {
searchProducts
filterProducts
viewProductDetails {
viewImages
readReviews
checkAvailability
}
}
account {
register
login {
accessDashboard
viewProfile
updateProfile {
changePassword
updateContactInfo
manageAddresses
}
viewOrderHistory {
viewOrderDetails
trackShipment
requestRefund
}
manageCart {
addToCart
removeFromCart
updateQuantity
checkout
}
}
logout
}
checkout {
enterShippingAddress
selectShippingMethod
enterPaymentInfo
reviewOrder
placeOrder
}
review {
writeProductReview
rateProduct
uploadImages
}
support {
contactSupport
viewFAQs
reportIssue
}
}
visitor {
manageStore {
viewStoreDashboard
manageInventory {
addProducts
updateStock
setPrices
}
viewOrders {
processOrders
updateShipment
handleReturns
}
viewAnalytics {
viewSalesReport
viewTrafficReport
viewCustomerReport
}
}
account {
viewProfile
updateProfile
manageBilling
viewTransactions
}
}
visitor {
adminPanel {
manageUsers {
viewUsers
createUser
updateUser
deleteUser
assignRole
suspendUser
}
manageContent {
reviewProducts
approveProducts
removeProducts
manageCategories
}
manageOrders {
viewAllOrders
updateOrderStatus
processRefunds
cancelOrders
}
manageSystem {
viewLogs
configureSettings
manageIntegrations
viewAnalytics {
viewUserMetrics
viewSalesMetrics
viewSystemHealth
}
}
}
}
✨ Edit in Studio