Skip to content
  1. Extras
  2. MiniShop3
  3. Manager interface
  4. Settings
  5. Order statuses

Order statuses ​

Open Extras → MiniShop3 → Settings → Order statuses.

Purpose ​

A status describes the stage an order is at. Three things depend on it: which transitions are allowed next, whether notifications go out to the customer and the managers, and what happens to the stock reserve.

The package ships five statuses:

IdNameRole
1DraftThe cart and the checkout form. The order has not been submitted yet
2NewThe order is placed. Stock is reserved at this status
3PaidThe reserve is written off
4ShippedAn intermediate delivery status
5CancelledThe reserve returns to stock

The ids of the first five statuses are wired into the ms3_status_* system settings, which the payment, shipment and inventory code reads. Renaming a status is fine; changing its id is not.

Status fields ​

FieldTypeDescription
namestringName. Required
descriptiontextDescription for the manager
colorstringLabel colour in grids, hex without the hash (000000 by default)
activeboolThe status can be selected
finalboolNo transitions out of this status: an attempt to change it fails with ms3_err_status_final
fixedboolForbids going back: a transition to a status with a lower or equal position is refused with ms3_err_status_fixed
positionintSort order. Takes part in the fixed check
editableboolAccepted by the Manager API and stored, but order logic does not use it today. Only the legacy Settings\Status\Remove processor reads it

Interface ​

The table shows: drag handle, selection checkbox, Id, Name, Final (final), Fixes (fixed), Enabled (active) and the actions column.

  • Create. The Create button opens a dialog with Name (required), Color, Description, Enabled, Final and Fixes. There is no position field in the dialog — the order comes from dragging.
  • Edit. Through the pencil icon in the actions column.
  • Sort. By dragging. The order matters beyond looks: the fixed check relies on it.
  • Delete. A status used by orders cannot be deleted — the server counts orders with that status_id and answers with an error naming the number.

The tab has no search.

Transitions between statuses ​

Beyond the final and fixed flags, transitions are constrained by the ms3_order_status_transitions system setting. It lists the allowed edges of the graph; an empty value means "any transition except those the flags forbid". A value that cannot be parsed refuses the change with ms3_err_status_transitions_invalid.

Status changes are performed by OrderStatusService — see Managing statuses and Status events.

Manager API ​

The whole group is protected by the mssetting_save permission.

MethodRouteDescription
GET/api/mgr/statusesList
POST/api/mgr/statusesCreate
GET/api/mgr/statuses/{id}Read one
PUT/api/mgr/statuses/{id}Update
DELETE/api/mgr/statuses/{id}Delete
DELETE/api/mgr/statuses/bulkDelete several, an ids list in the body
POST/api/mgr/statuses/sortSave the order after a drag

Writes accept only name, description, color, active, final, fixed and editable; anything else in the body is dropped.

Separate from the group sits GET /api/mgr/statuses-dropdown — the list with translations for the order form dropdowns.