Broadleaf Microservices
  • v1.0.0-latest-prod

Broadleaf Order Services

Overview

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.

Configuration

Some configuration is available for the Order Services Metadata to change the way administrators interact with fulfillment flows:

Fulfillment Browse

Enables the "Fulfillment Browse" tab in Orders.

  • The property to enable this feature is broadleaf.order.metadata.enable-fulfillment-browse.

  • Enabled by default.

Payment Capture Step

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.

Payment Distribution Admin Metadata

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.

Intermediate Fulfilling Step

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.

Indicate Auto-fulfill after Payment Captured

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.

Enable Simple Return Authorization Management

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

Enable Print Shipping Label Action

It is also possible to enable displaying an action to print or reprint a shipping label for a Fulfillment Order.

  • Property: broadleaf.order.metadata.enable-print-shipping-label

  • Enabled by default

Order Temporary Resource Lock Time-to-Live

The amount of time that a resource lock is held, before it expires.

  • Property: broadleaf.order.web.order-lock-ttl

  • 10 seconds by default

See the Data Model for information on the key domain classes used by the order service.