Order Orchestration Configuration

Purpose: This topic describes the required setup to integrate Order Administration with Order Orchestration, and how to load item and inventory information from Order Administration into the Order Orchestration database.

Default system? When you begin setting up data in Order Orchestration, you build a location group of integrated systems, such as your Order Administration company and your POS system. If your Order Administration company is the default system, or system of record, in Order Orchestration, then when you import your Order Administration item and SKU records into Order Orchestration, they serve as the primary products, and the product records imported from other systems reference the Order Administration items and SKUs. The Order Administration item and SKU code is the product code in Order Orchestration, and the product codes from other integrated systems are system products that reference the product code from the default system.

Order Orchestration Configuration process flow.

If Order Administration is not the default system in Order Orchestration, then each item and SKU sent to Order Orchestration in the product feed needs to reference the product code from the default system. If the systems use different product codes, you can use a secondary field in Order Administration, such as the Reference number or a UPC code, to store the Order Orchestration product code, so that the Order Administration system product is correctly linked to the default system’s product code during the import process. The OROB Product Code ID (K66) system control value indicates whether the Order Administration item and SKU, or some other field, contains the default system’s product code.

For more information: See:

Version compatibility: Fulfillment assignment and ship-for-pickup functionality is available in release 16.0 or higher of Order Administration, or Order Administration, and release 16.0 or higher of Order Broke, or Order Orchestrationr. In order to use ship-for-pickup processing, you must select the Enable Ship For Pickup option on the Organization window in Order Orchestration. Once you enable ship for pickup, the Ship for Pickup Enabled Date displays on the Organization window and you cannot deselect this option.

When integrating with Order Broker 19.4 or higher, or Order Orchestration, you cannot create a new organization without ship-for-pickup enabled.

An OROB_MESSAGE_VERSION of 16.0 or higher is required to use the Ship-for-Pickup Orders integration with Order Orchestration.

In this topic:

Order Orchestration-Related System Control Values

Most of the system control values related to integration with Order Orchestration’s Routing Engine Module are available through the 

Order Broker Values (K15) umbrella screen. See that screen for more information.

Special orders system control values: The following system control values are required to process special ship-for-pickup orders:

  • Order Type for Special Orders (L15): Identifies the order type code that indicates to send the e-commerce order number, rather than the Order Administration order number, as the order ID when submitting the ship-for-pickup order to Order Orchestration. Since special ship-for-pickup orders originate in the retail location, they are identified primarily by the store system’s original order number.

  • Pay Type for Special Orders (L16): Identifies the pay type that indicates that the customer needs to pay for a ship-for-pickup order when picking it up at the retail location. When a ship-for-pickup order uses this pay type, the Submit Order message indicates a balance_due that is the same as the order total.

  • Store Pickup Confirmation Email Program (L48): Use this system control value to specify the program that generates a notification to the customer when a store pickup order is ready for pickup.

Additional system control values:

  • Use OROB Status Inquiry List Web Service (M05): Use this system control value to specify whether pick slip generation uses the status list request message rather than individual status inquiry request messages to check on whether retail pickup or delivery orders have been canceled by the originating system; also, if using the status list request, indicates whether to request information for orders only if they are canceled, or for all orders.

  • Tax on Freight (B14): Select this system control value to avoid issues with tax calculation when you use Order Orchestration fulfillment.

  • Invoice Ship For Pickup Order Once Intransit (M73): Use this system control value to define whether to create the invoice for a ship-for-pickup order line once the system receives confirmation from Order Orchestration that the order line is in transit from the sourcing location to the pickup location, has been received at the pickup location, or has been fulfilled.

Send Order Administration or ORCE customer number to Order Orchestration? The Send ORCE Customer ID to OROB (M71) system control value controls whether to send the customer’s ORCE customer ID or the Order Administration customer number as the customer_no in the SubmitOrder request message to Order Orchestration. The ORCE customer ID is specified in the submit order request message to Order Orchestration only if:
  • An ORCE customer ID is assigned to the customer, and

  • The ORCE Customer Integration (L37) system control value is set to INTERACT, and

  •  This system control value is selected.

Otherwise, the Order Administration customer number is sent as the customer_no in the SubmitOrder request message.

Map Order Administration or ORCE customer number from Customer Number Received from Order Orchestration in the Fulfillments Response? The ORCE Customer ID in OROB Fulfillment (M72) system control value controls whether the customer number returned from Order Orchestration in the fulfillments response message maps to the Order Administration customer number or the ORCE customer ID. The customer number in the fulfillments response maps to the ORCE customer ID if:

  • The ORCE Customer Integration (L37) system control value is set to INTERACT, and

  • The ORCE Customer ID in OROB Fulfillment (M72)system control value is selected.

Otherwise, the customer_number in the fulfillments response message maps to the Order Administration customer number.

Order Orchestration Properties

Overview: Use Working with Customer Properties (PROP) to define property settings for:

Use Working with Admin Properties (CPRP) to define the Imports URL.

Purchasing services properties: See Interface with Order Orchestration’s Supplier Direct Fulfillment Module: Overview and Setup for information on the additional properties related to integration with Order Orchestration’s Supplier Direct Fulfillment module.

WSDL Locations

Discovery Services WSDL

Use the OROB_DISCOVERY_SERVICES_WSDL_LOCATION entry in Working with Customer Properties (PROP) to specify the endpoint for the Discovery Services web service. This entry should be set to https://SERVER:8443/Locate/DiscoveryServices, where SERVER is the name of your Oracle Retail Order Orchestration server.

Required for Supplier Direct Fulfillment integration: You need to set this property as described above even if you integrate with Order Orchestration’s Supplier Direct Fulfillment module but not with Order Orchestration’s Order Broker Module, or if you integrate with an earlier version of Order Broker than you use for the Supplier Direct Fulfillment module.

Web service authentication: If the web service requires basic web service authentication, you must use Working with Web Service Authentication (WWSA) to define a valid web service authentication user; otherwise, define the client ID and client secret if using OAuth.

Purchasing Services WSDL

Use the OROB_PURCHASING_SERVICES_WSDL_LOCATION property in Working with Customer Properties (PROP) to specify the endpoint for the Purchasing Services web service. This entry should be set to https://SERVER:8443/Locate/PurchasingServices, where SERVER is the name of your Oracle Retail Order Orchestration server.

Required for Supplier Direct Fulfillment integration: You need to set this property as described above even if you integrate with Order Orchestration’s Supplier Direct Fulfillment module but not with Order Orchestration’s Order Broker Module, or if you integrate with an earlier version of Order Broker than you use for the Supplier Direct Fulfillment module.

Web service authentication: If the web service requires basic web service authentication, you must define a valid web service authentication user and password in Working with Web Service Authentication (WWSA); otherwise, define the client ID and client secret if using OAuth.

Setting the Daily Status Inquiry Time Window (all versions)

For certain Order Orchestration statuses, it is not necessary to include an order in a status inquiry list request as frequently as the Order Broker Status Update Interval (K10), because no immediate action is required in Order Administration.

The following statuses are updated once a day:

Status Applies to Order Type Description

In Transit

In Transit Polled

  • retail pickup

  • ship-for pickup if the Use OROB for Ship for Pickup Fulfillment Assignment (M34) system control value is set to NEVER or blank

You have confirmed shipment of the order from an Order Administration warehouse to the store.

Received by Store

  • retail pickup

  • ship-for pickup if the Use OROB for Ship for Pickup Fulfillment Assignment (M34) system control value is set to NEVER or blank

The order has been received by the store location but not yet picked up by the customer.

Partial Fulfill

  • retail pickup

  • store pickup

  • ship-for-pickup if the Use OROB for Ship for Pickup Fulfillment Assignment (M34) system control value is set to NEVER or blank

The customer has picked up one or more items on the order, but not the complete orde

In order to avoid including orders in these statuses more often than necessary in the status inquiry list request, the BROKER process checks their status once daily during a specified time window. It uses the following two additional properties in Working with Customer Properties (PROP) to determine the start and end of the window:

  • OROB_LIMITED_STATUS_BEG_TIME=123456

  • OROB_LIMITED_STATUS_END_TIME=123456

Each time is indicated in HHMMSS format, military time. For example, if you set these properties to:

OROB_LIMITED_STATUS_BEG_TIME=180000

OROB_LIMITED_STATUS_END_TIME=210000

Then the BROKER process can send status inquiry list requests including these orders between 6:00 p.m. and 9:00 p.m. daily. Orders are eligible for status inquiry if there has not been an inquiry in the previous 12 hours.

You should set the time window long enough to process status inquiries for all orders in the related statuses; also, the time window should not cross midnight.

Note: You use the Order Broker Status Update Interval (K10) system control value to define how many minutes Order Administration should wait before including orders in the status inquiry list request for all other status updates.

Message Version Number

Use the OROB_MESSAGE_VERSION property (PROP) to specify the message version to include in Order Orchestration and merchandise locator request messages that Order Administration sends to Order Orchestration.

Version requirements:

  • A message version of 5.0 or higher is required to use the status list request message and streamlined allocation at pick slip generation. See Use OROB Status Inquiry List Web Service (M05) and Use Streamlined Allocation (L63) and Use Streamlined Allocation (L63) for background.

  • A message version of 16.0 or higher is required to use the Ship-for-Pickup Orders integration with Order Orchestration.

  • A message version of 19.0 or higher is required to include the shipment_date tag in the status inquiry response message from Order Orchestration. This date indicates the actual date when the order line was shipped by the fulfilling location, provided the fulfilling system passed this date when it submitted the status update to Order Orchestration when reporting the fulfillment. The shipment date is available to include in shipment notifications to the customer; see Outbound Email API in the Web Services Guide on My Oracle Support (ID 2953017.1) for more information.

Note:

Note that this property cannot be set higher than 19.9 for integration with Order Broker 19.x, or higher than 21.1 for integration with Order Broker 22.2.301.0 or higher, or Order Orchestration.

Important:

To avoid unpredictable results, do not leave the OROB_MESSAGE_VERSION blank.

Imports URL

Use the OROB_IMPORTS_URL property to define the URL used to call the Order Orchestration Import RESTful web service when sending product, product location, and incremental inventory data to Order Orchestration.

For example: https://order_broker_url:port, where order_broker_url is the URL used to connect to Order Orchestration and port if the port number used to connect to Order Orchestration.

Web service authentication: If the Import web service requires basic web service authentication, you must define a valid web service authentication user and password in Working with Web Service Authentication (WWSA); otherwise, define the client ID and client secret if using OAuth.

See Order Orchestration’s Product, Product Location, and Incremental Inventory Import Process.

Maximum Number of Request IDs to Include in a Status List Request

Use the OROB_MAXIMUM_STATUS_LIST_REQUEST in Working with Customer Properties (PROP) to specify the maximum number of request IDs that the BROKER job can include in a single order status list request message to Order Orchestration. This property defaults to 500, and should not be set higher than 1000.

Pick slip generation also uses this property to determine the maximum number of request IDs to include in a single status list request.

See Order Status List Request Message Sample for examples of how this property controls the number of request IDs included in the list request message.

Additional Order Orchestration Setup in Order Administration

Purpose: Additional setup for integration with Order Orchestration is described below:

General Order Orchestration setup:

  • Item: Deselect the OROB eligible flag for any items that should not be included in the Order Orchestration integration. This flag is selected by default.

  • Warehouse: Complete the OROB location for each warehouse that maps to a location in Order Orchestration. If the Send Inventory by Warehouse to OROB (L06) system control value is selected:

    • the product import process sends inventory information separately for each warehouse that has an OROB location specified.

    • the BROKER process sends a separate fulfillment request message for each warehouse that has an OROB location specified.

Note:

If the Send Inventory by Warehouse to OROB (L06) system control value is selected but you do not define an OROB location in Creating and Maintaining Warehouses (WWHS), fulfillment requests for the warehouse are not sent to Order Orchestration.

  • A first and last name or a company name are required for the sold-to customer on all orders sent to Order Orchestration.

  • BROKER_ORD process in Working with Integration Layer Processes (IJCT): Optionally, set the Outbound delay time. The Outbound delay time controls how often to send cancellation requests.

    The BROKER_ORD process submits new orders and cancellation requests.

  • Outbound delay time Working with Integration Layer Processes (IJCT): Outbound delay time Outbound delay time. The Outbound delay time controls how often to send fulfillment request messages.

    The BROKER process handles the messages that are not handled by the BROKER_ORD process, including status inquiries and updates, as well fulfillment requests and responses.

  • Secured features:

  • Store cross references: Create store location cross references for each potential fulfilling location through Work with Store Cross Reference (WSCR), including:

    • Specify a source code. See Order Broker Source Code (K93) for a discussion of how the source code assigned to the order varies depending on whether the order originated in Order Administration.

    • For ship-for-pickup orders, select the Ship for pickup flag; also, complete the description and address fields, as this information is used as the ship-to name and address for ship-for-pickup orders.

    • Optionally, specify a System Code to override the Name in OROB for Point of Sale (L09) used to identify the fulfilling location for ship-for-pickup and store pickup orders. For example, if you use the Store Connect module for pickup orders in some store locations, but use a point-of-sale system for other locations that support ship-for-pickup orders, you might set this system control value to the code identifying your point-of-sale system, and enter the code for your Store Connect system for the Store Cross Reference records used for Store Connect locations. When submitting a store pickup or ship-for-pickup order to Order Orchestration, Order Administration uses the System Code, if any, from the Store Cross Reference record; otherwise, it uses the system code from this system control value.

Note:

You can use the Importing Store Cross Reference Locations through Order Orchestration’s Discovery Web Service option to create store cross reference records.

  • BROKER periodic function: Set up and schedule the BROKER periodic function (program PFR0083) to generate requests for existing backordered lines.

    Note:

    Since the BROKER periodic function should not run at the same time as pick slip generation, the periodic function runs in the PICKGEN queue regardless of your selection for the periodic process.

  • Schedule BROKER process: Optionally, set up periodic functions to schedule the BROKER process in Working with Integration Layer Processes (IJCT):

    • ENDBROK (program=ILENDBROKR) to stop the BROKER process

    • STRBROK (program=ILSTRBROKR) to start the BROKER process

  • Schedule BROKER_ORD process: Optionally, set up periodic functions to schedule the BROKER process in Working with Integration Layer Processes (IJCT):

    • ENDBRO (program=ILENDBROK) to stop the BROKER process

    • STRBRO (program=ILSTRBROK) to start the BROKER process

  • CWPickOut: If you use the CWPickOut message to send pick slip information from Order Administration to an external system, set the Outbound XML version of the PICK_OUT process in Working with Integration Layer Processes (IJCT) to 3.0 or higher to include:

    • broker_delivery_type of R (retail pickup), D (delivery), or S (ship-for-pickup)

      Note:

      This field is not used for brokered backorders.

    • destination_store: the store cross-reference code (WSCR) for a ship-for-pickup order

    • originating_store: the store cross-reference code (WSCR) for a retail pickup or delivery order

  • CWInvoiceOut: If you use the CWInvoiceOut message to send invoice information to an external system, set the Outbound XML version of the INVOIC_OUT process in Working with Integration Layer Processes (IJCT) to 2.0 or higher to include:

    • ost_broker_delivery_type of R (retail pickup), D (delivery), or S (ship-for-pickup)

      Note:

      This field is not used for brokered backorders.

    • ost_destination_store: the store cross-reference code (WSCR) for a ship-for-pickup order

    • ost_originating_store: the store cross-reference code (WSCR) for a retail pickup or delivery order

  • Email setup: Use the Email notification flag to control email generation for the retail pickup, delivery, or store pickup order types. Also, set up the store pickup notification template. See Email Generation Setup for more information.

Merchandise locator setup: For merchandise locator searching: Make sure the MERCH_LOC process in Working with Integration Layer Processes (IJCT) has its Communication type field set to Web Service.

See Scheduling Jobs for more information.

You must first install and configure Order Orchestration before using the options described in the Order Orchestration Integration Overview in the online help.

Tax considerations: If you integrate with Vertex or Avalara for tax calculation and broker all orders, you can use the Order Broker Source Code (K93) to specify a source code that points to a separate entity that the tax integration can filter from tax calculation; this setup can prevent the tax from appearing to be charged twice for the same order.

Notes on Configuration in Order Orchestration

Follow the steps described under Setting Up Data in Order Orchestration in the Order Orchestration online help or operations guide, using the following notes to configure the integration between Order Orchestration and Order Administration:

System setup:

  • Default system? If Order Administration is the default system for your organization, set the OROB Product Code ID (K66) system control value in Order Administration to Item/SKU or blank. Otherwise, if Order Administration is not your default system, use the OROB Product Code (K66) system control value to indicate the field you use to store each item’s product code from the default system.

  • Setting up the Order Administration system: Also, when creating the system for Order Administration in Order Orchestration, set the System code in Order Orchestration to match the Company number in Order Administration and the OROB System (K50) system control value. The code should not be zero-padded (that is, create a system of 2 rather than 002).

Note:

Do not select the Allow Partial Updates preference in Order Orchestration when integrating Order Orchestration and Order Administration.

Warehouse (location) setup:

  • If the Send Inventory by Warehouse to OROB (L06) system control is unselected, create a location in Order Orchestration to represent your default warehouse in Order Administration as defined in the OROB Default Location (K51). The location code in Order Orchestration should match the warehouse number in Order Administration, and should not be zero-padded (that is, create a warehouse of 1 rather than 0001).

  • If the Send Inventory by Warehouse to OROB (L06) system control is selected, create a location in Order Orchestration for each warehouse that has an OROB location specified. The location code in Order Orchestration should match the warehouse number in Order Administration, and should not be zero-padded (that is, create a warehouse of 1 rather than 0001).

  • If you have defined a location in the Originating Location to Pass to OROB (M32) system control value, create this location in Order Orchestration. The location code in Order Orchestration should match the warehouse number in Order Administration, and should not be zero-padded (that is, create a warehouse of 1 rather than 0001).

  • At the Preferences screen in Order Orchestration, flag the default Order Administration location, and any additional locations representing Order Administration warehouses, as Pickup available = No. (NOTE: You can set this flag at the location type level if you have set up a location type to represent your Order Administration warehouses; in this case, you do not need to set the flag for each individual location.)

Note:

See the Order Orchestration online help for additional steps to setting up data in Order Orchestration.

Product and inventory import setup: Use the System Import Schedule screen to set up a schedule for importing items and inventory information from Order Administration into Order Orchestration. When setting up the schedule:

  • Select the Enabled flag.

  • Select each day of the week when the process should run, or select Daily to run the process every day.

  • Enter the time, in HH:MM:SS format (military time), when the process should run for all selected days.

  • If Order Administration is your default system, make sure to schedule its import process about 30 minutes earlier than any other systems to prevent product import errors. The product import will fail if you attempt to create a system product record before the product record for the default system exists.

Note:

Schedule the product and inventory import so that it occurs after the purchase order layering process completes. See Purchase Order Layering for more information.