Order management business case
This tutorial describes, step by step, the implementation of a basic order management application
For this business case we will consider a building a very simple wholesale order management application.
The application has one back office user interface which is based on the standard Simplicité® user interface. This user interface is only used by internal users to manage reference data (suppliers, products, clients, ...) and to enter and manage client orders and contacts.
It also has 2 front office user interfaces : a public web site and a public mobile web app that allow clients to place their orders.
Some business rules, including right rules, applies on all business objects some of which depends on the user profile.
The 2 back office business user profiles are administrator and plain user. Administrators manages all reference data, enters and/or validate orders. Plain users are only responsible for entering and finalizing orders.
The data model consist of 5 business objects:
- Suppliers who supply products
- Products supplied by suppliers and that can be ordered
- Clients who order products
- Orders placed by clients on products
- Contacts from client
NB: Orders are for 1 client and 1 product (mono-product orders), a quantity can be set (minimum order quantity is 1)
Thes Administrator profile is a back office profile. He has full access to the order management application: he can manage all data including orders and has also access to users management. He is the only profile to be allowed to validate orders.
The Plain user profile is also a back office profile. He has read only access to reference data. He has write access on orders but is restricted to the orders placed on a product from one of its designated suppliers. He is not allowed to validate pending orders.
The Client profile is a front office profile. He has only access to dedicated custom user interfaces (web site, mobile app, ...). He is only allowed to place new orders. He can optionally also review the list of all his previous orders.
Order state model
Orders can be in the following statuses:
- Pending as the initial status
- Validated when validated by the administrator profile
- Delivered when actually delivered to client
- Cancelled if cancelled (cannot be cancelled when marked as delivered)
Contacts state model
Contacts can be in the following statuses:
- Open as the initial status
- Processing when it requires long processing
- Closed when contact is considered to be fully processed
Place new order screen flow
The screen flow for back office order entry is a 4 step linear screen flow:
- Select one client from the clients list
- Select one supplier from the suppliers list
- Select one product out of the selected supplier's products
- Review the order summary, enter a quantity and submit it
NB: this screen flow is only an assisted process doing what can be done using plain business objects user interfaces. This screen flow does not bring any additional business rules.
Supplier related business rules
Supplier can only be created and updated by the administrator profile. A single plain user can be designated as the supplier responsible (this link is taken into account for access rights to orders).
Product related business rules
Supplier can only be created and updated by the administrator profile. Changes on either product reference, product name or unit price is historized.
Client related business rules
Clients can only be created and updated by the administrator profile.
Order related business rules
Orders can be placed either by back office users (administrator or plain user) or by front office users (clients themselves).
An order is for one client and one product.
Regardless of the order entry origin, the following business rules applies to orders:
- Order client and product can only be selected at creation
- Quantity can only be updated when order status is pending
- Quantity must be between 1 and current product stock
- Stock is actually decreased when order is marked as delivered
Contact related business rules
A contact is only entered by back office users and must be attached at least to a client, and optionally to an order of this client.
Simplified order entry page
An optional user interface component is provided to provide a back office "single order entry page". As for the order entry screen flow, this component is optional and does not include any additional business rules if compared to what can be done with plain business object pages.
Public desktop web site
A front office web site is available for client to enter new orders. The only authentication mechanism for clients is to enter their client code.
This web site is based on the Bootstrap® web framework.
Public mobile web site
A front office mobile-optimized web site is available for client to enter new orders. The only authentication mechanism for clients is to enter their client code.
This web site is based on the jQueryMobile® mobile web framework.
Some pivot tables are defined on the order business object:
- Number of orders per date dans status
- Order turnover by supplier, product reference and status
A custom PDF order receipt publication is available for for validated and delivered orders:
This application does not include any bulk data adapter. It does not include custom technical publications for integration.