# Order Use Cases

1. As a Customer I need to be able to place an order containing products from multiple platforms, whilst only interacting (e.g. placing a payment) with the platform I am buying from so that I can have a seamless customer experience.<br>
2. As a Trader I need any customer order data to be passed to other platforms in an anonymized, GDPR-Compliant, manner so that I can ensure my business remains legal.<br>
3. As a Trader I need to reserve stock against the Producers inventory (if available) as soon as my Customer completes checkout, so that I can ensure I have sufficient stock to fulfill my orders.<br>
4. As a Producer supplying a Trader (Hub) I need all Customer sales orders for my Products on this Trader to be consolidated into a single order for a sales session so that I can process orders simply.<br>
5. As a Trader I need an option for Producer orders to be consolidated into a single order per sales session per Producer so that I can send a single aggregate order to my supplier.<br>
6. As a Trader I need an option for Producer orders to be aggregated by weight to the total weight for a sales session per Product so that I can order a single bulk quantity from my supplier.<br>
7. As a Trader I need orders to complete if no inventory information is available so that orders can still be processed by platforms that have not yet implemented inventory management.\
   \ <br>
8. As a Producer I need any cancelled Customer orders to be reflected promptly (Order Lines removed/ Quantities reduced as appropriate) within the Traders Order so that stock can be available for other orders. \
   \
   An Order update (PUT) can be applied to ensure any amendments to Order Lines are reflected.<br>
9. As a trader I need to flexibly apply sales-based discounts to orders, so that I can give customers the best deal possible.\
   \
   These are discounts not based on a customer category so the Cust Cat/Offer/Price link isn't easy to traverse (e.g. a bulk discount of 5% if total order value exceeds 100 EUR)\
   \
   The `Order` class contains `discount` property (as a float), that can contain a total value of all discounts for an Order. Individual items can similarly be discounted using the `OrderLine` `discount` property (also a float value).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dfc-standard.org/dfc-standard-documentation/dfc-use-cases/use-cases/order-use-cases.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
