DFC standard specifications
DFC Use Cases
DFC Use Cases
  • Introduction
  • Sources and licences
  • Contact and partners
  • Semantic specifications
    • Business ontology
    • Product ontology
    • Technical ontology
  • Technical specifications
    • Protocols specifications
    • Decentralized identifier matching reference system
    • Specifics API
    • Authentication strategy
    • Architecture representations
  • Prototype specifications
  • 🚧Solid client protocol
  • 🚧Connector
    • Model specifications
    • Semantizer specifications
    • Connector specifications
  • Use Cases
    • Enterprise Use Cases
    • Product Use Cases
      • Product Transformations
      • CSA Use Cases
    • Orders
    • Order Use Cases
      • Wholesale Order Processing
    • Glossary of terms
  • Appendixes
    • Appendix 1. General decisions
      • Federation vs Syndication
      • Stateless or stateful?
      • Service granularity
      • Directionality
      • Identification and authentication
      • Centralized or decentralized data storage
      • Metadata repository
    • Appendix 2. Technical decisions
      • Libraries to develop in semantic
      • Transition strategy fron current to ideal
      • Service standard
      • Serialization
      • Transport layer
      • Multi- or single-resource requests?
      • Right delegation between platforms and DFC
      • Data validity and inferences
    • Appendix 3. Practical Examples
      • Version 1.9
      • Version 1.8.2
      • version 1.7.4
      • version 1.7.3
      • version 1.7.1
      • version 1.7
      • version 1.6.2
      • version 1.6.1
      • version 1.6
      • version 1.5.1
      • version 1.5
      • version 1.3
      • version 1.2
  • Contributing
    • Procedures
      • Updates to the ontology
        • Patch releases procedure
        • Minor releases procedure
        • Major releases procedure
      • Taxonomy enrichment
        • Taxonomy updates
    • Platform Notifcations
  • Platform Register
    • Platform Register
Powered by GitBook
On this page

Was this helpful?

  1. Use Cases
  2. Order Use Cases

Wholesale Order Processing

To manage wholesale ordering across platforms, we need to define a process to manage the stock as multiple orders come in from different traders, on different platforms, with different sales session cycles.

Traders will generate a single, consolidated Order for a producer, from multiple Customer orders within a Sales Session.

However, when a Customer Order is generated, we need to ensure stock is reserved/held, so that the Order can be fulfilled.

An example:

  1. Supplier Jean is selling carrots through 2 hubs - Hub A & Hub B

  2. Hub A has an order cycle that opens on Monday and closes on Friday

  3. Hub B has an order cycle that opens on Tuesday and closes on Thursday

  4. Jean has 10 kg of carrots to sell this week.

  5. Customer Ali orders 1kg carrots through Hub A on Monday

  6. Customer Paul orders 5 kg of carrots through Hub A on Tuesday

  7. Customer David orders 3 kg of carrots through Hub B on Wednesday

  8. Customer Michael orders 2 kg of carrots through Hub B on Thursday

  9. When Hub B's order cycle closes on Thursday, it orders 5 kg of carrots from Jean.

  10. When Hub A's order cycle closes on Friday, it orders 6 kg of carrots from Jean.

  11. Jean is 1 kg of carrots short. If Hub A can only get 5 kg of carrots, Paul or Ali (who ordered earlier than David & Michael) won't get their order fulfilled.

To manage this, we need to ensure stock is reserved as the Customer Orders come in, but the Order is not completed until the Sales Session is finished.

This is managed (using Order & Fulfillment States) with the following flow:

Trader Platform Process flow:

  1. When Customer initiates checkout: Create or Update an Order with the Producer to include all additional Products in Customer basket. Place Order in a Held OrderState (to reserve Producer stock), and with a FulfilmentState of Held, pending payment processing.

  2. On successful completion of checkout of Customer Order: do nothing.

  3. On unsuccessful completion of checkout of Customer Order: update Producer Order to remove additional Products required to fulfill that Order (or delete to newly created).

  4. On completion of the Trader's : submit the (aggregate) Producer Order by updating OrderState to Complete and the FulfilmentState to Unfulfilled.

  5. Order Cancellation Processing: if a Customer Order is Cancelled within a Sales Session, is it necessary to immediately update the wholesale Order to reflect any reduced requirement. This allows stock to be available for other Customers in the network.

PreviousOrder Use CasesNextGlossary of terms

Last updated 7 months ago

Was this helpful?