Summary for HelixStoreHighLevel

EventHelix.com/EventStudio 2.0
Generated on 05-Jul-03 11:23

Customer Purchases a Product

Customer Interfaces

  1. Send order_product (customer, ship_addr, SKU, credit_card) to server
  2. Receive PRODUCT from courier

Courier Interfaces

  1. Receive PRODUCT from router
  2. Send invoice (invoice_num, SKU, customer, ship_addr, amount) to server
  3. Receive payment (invoice_num, amount) from payment_service
  4. Send PRODUCT to customer

Payment_service Interfaces

  1. Receive charge_credit_card (credit_card, amount) from server
  2. Send charge_status (status = SUCCESS) to server
  3. Receive payment (invoice_num, amount) from server
  4. Send payment (invoice_num, amount) to courier

Server Interfaces

  1. Receive order_product (customer, ship_addr, SKU, credit_card) from customer
  2. Send charge_credit_card (credit_card, amount) to payment_service
  3. Receive charge_status (status = SUCCESS) from payment_service
  4. Take action "Locate the Helix Bin containing the product"
  5. Send order_product (SKU, customer, ship_addr) to bin
  6. Receive invoice (invoice_num, SKU, customer, ship_addr, amount) from courier
  7. Take action "Send e-mail to customer about product shipment"
  8. Send payment (invoice_num, amount) to payment_service

Bin Interfaces

  1. Receive order_product (SKU, customer, ship_addr) from server
  2. Take action "Select item for shipping"
  3. Take action "Program magnetic strip with customer name, ship address"
  4. Send PRODUCT to router

Router Interfaces

  1. Receive PRODUCT from bin
  2. Take action "Route the product to the courier's conveyor belt"
  3. Send PRODUCT to courier

HelixStore Replenishes Inventory

Order_service Interfaces

  1. Receive order_items (SKU, quantity, order_number) from server
  2. Take action "Program magnetic strip of items with order number"
  3. Take action "Ship Items"
  4. Send PRODUCTS to router
  5. Receive payment (order_num, amount) from payment_service

Payment_service Interfaces

  1. Receive payment (order_num, amount) from server
  2. Send payment (order_num, amount) to order_service

Server Interfaces

  1. Receive inventory_fallen (SKU) from bin
  2. Take action "Prepare order for required number of items"
  3. Send order_items (SKU, quantity, order_number) to order_service
  4. Receive items_received (order_number, SKU, quantity) from bin
  5. Take action "Mark the order as completed"
  6. Send payment (order_num, amount) to payment_service

Bin Interfaces

  1. Take action "Check if inventory has fallen below a pre specified threshold"
  2. Send inventory_fallen (SKU) to server
  3. Receive PRODUCTS from router
  4. Take action "Collect all the items corresponding to a the specified order number"
  5. Send items_received (order_number, SKU, quantity) to server

Router Interfaces

  1. Receive PRODUCTS from order_service
  2. Take action "Route items to appropriate bin"
  3. Send PRODUCTS to bin

Adding a New Product to HelixStore

Server Interfaces

  1. Receive DefineProduct (SKU) from env_l
  2. Receive SetupBin (SKU, HelixBin) from env_l
  3. Receive SetupRouter (HelixRouter) from env_l
  4. Send product_setup (SKU, inventory_thresholds, routing_table) to bin
  5. Receive product_setup_ack from bin
  6. Send routing_updates (HelixBin, conveyor_belt) to router
  7. Receive routing_ack from router
  8. Send start_operation to bin
  9. Receive inventory_fallen (SKU) from bin

Bin Interfaces

  1. Receive product_setup (SKU, inventory_thresholds, routing_table) from server
  2. Send product_setup_ack to server
  3. Receive start_operation from server
  4. Take action "Check the Inventory"
  5. Send inventory_fallen (SKU) to server

Router Interfaces

  1. Receive routing_updates (HelixBin, conveyor_belt) from server
  2. Send routing_ack to server