The Order Service enables creation, management, and retrieval of well-defined hierarchical order structures.
This service is closely tied to the Order Operation Service which is frequently used as a middleman layer to facilitate interactions with the Order Service domain.
Some configuration is available for the Order Services Metadata to change the way administrators interact with fulfillment flows:
Enables the "Fulfillment Browse" tab in Orders.
The property to enable this feature is broadleaf.order.metadata.enable-fulfillment-browse
.
Enabled by default.
Enables the intermediate CAPTURING_PAYMENT
step for fulfillments which captures payment before allowing the fulfillment to be marked as fulfilled. (see Order Fulfillment Flows)
If this is enabled, an administrator will see a "Capture Payment" button on a new fulfillment. Otherwise, they’ll see a "Fulfill" button.
The property to enable this feature is broadleaf.order.metadata.enable-payment-capture-step
.
Enabled by default.
Enables the admin metadata to show the payment distribution ratios. (see Payment Distribution Support)
If this is enabled, an administrator will see the payment distribution ratios on an order and its items.
The property to enable this feature is broadleaf.order.metadata.distribute-payment-transaction-amount-across-payments
.
Disabled by default.
Enables the intermediate FULFILLING
step for fulfillments which must go through some processing to be considered fulfilled.
For example, when an external system must perform some processing to be considered fulfilled.
That system must be responsible for notifying this service to change the status to FULFILLED
once fulfillment is complete.
This should have the same value as broadleaf.orderoperation.fulfillment-processing.enable-fulfilling-step
in OrderOperationServices
. (see Order Fulfillment Flows)
The property to enable this feature is broadleaf.order.metadata.enable-fulfilling-step
.
Disabled by default.
Updates the Admin text around payment capture to indicate that a successfully captured fulfillment will then be automatically fulfilled.
This should have the same value as broadleaf.orderoperation.fulfillment-processing.auto-fulfill.after-payment-captured
in OrderOperationServices
. (see Order Operation Services Configuration)
Note that this property does not enable automatic fulfillment itself - that is handled by the property above in Order Operation Services. This property only updates the text in the Admin pages to reflect that fulfillment will occur automatically after capture.
Property: broadleaf.order.metadata.indicate-auto-fulfill-after-payment-captured
Updates text of "Capture Payment" button to "Capture Payment and Fulfill Items"
Enabled by default.
It is possible to enable simple functionality around creating and managing ReturnAuthorizations
with a metadata property that will cause a button and Order-view section to render for fulfilled items.
This allows creating returns from fulfilled items, showing returns in a new OrderView section, and confirming or cancelling them.
These components offer a fairly simple implementation insofar as they only allow a user to specify a quantity to return, whereas the backend has additional support for specifying the reason for the return, the expected condition of the items, and arbitrary notes.
Property: broadleaf.order.metadata.enable-simple-returns
Disabled by default
See the Data Model for information on the key domain classes used by the order service.