Allocate Supply Through REST API

Use the Quick Availability Check REST API to get details about the supply that's currently available in your supply chain.

  • Quick Availability Check doesn't calculate an availability date for a quantity that Oracle Order Management requests, but instead provides the quantity that’s currently available to order today or on some future day. You can use these details to actively market items that have abundant stock, provide a notification for items that are low on stock, and ignore items that are currently out of stock.
  • You can use Quick Availability Check with an allocation hierarchy. You can include up to three levels of allocation nodes in your REST API import payload, and Quick Availability Check will return the allocated supply for each node in the hierarchy. The results can include supply that's available to a node that's lower in the hierarchy and also from that node's parents. It can also include supply that you reallocate from a sibling node that has a lower priority.
  • Promising applies an allocation rule to distribute the quantity that's currently available, and to distribute it across your allocation hierarchy according to an allocation attribute. Order Management can include the allocation attribute with the request that it sends to Promising so that you can offer higher levels of availability to some nodes over other nodes according to region, channel, loyalty status, and so on. It also helps to make sure once you place an order, that the item that’s on allocation will still be available to your customer.
  • Quick Availability Check will return results for any requested date regardless of whether its a working day or a holiday.

For details about Quick Availability Check, including example payloads, go to REST API for Oracle Supply Chain Management Cloud, expand Order Management > Global Order Promising, then click Quick Availability Check.

Requirements

  • You must enable the High Volume Order Promising feature and the Multilevel Allocation in Order Promising feature. For details, see Get Supply from a Node's Parent.
  • Make sure your REST API import payload includes details about all the nodes that you want it to consider when it allocates supply. For example, if you have three levels in your hierarchy, then your import payload must include nodes from each level. If you don't provide these details, then Promising returns results that don't consider allocated supply.

Attributes

Use these attributes in your Quick Availability Check request payload:

  • Item
  • Date
  • Organization
  • AllocationNodeFirstLevel
  • AllocationNodeSecondLevel
  • AllocationNodeThirdLevel

The REST API response includes these attributes.

Attribute Quantity
Shelf Quantity ATP supply that's available for the item on the requested date and that isn't allocated. Its still on the shelf.
Available Quantity

Supply that's available for the item from the lowest level node on the requested date.

It includes the quantity that you already allocated for this node, and the quantity that Promising can get from the node's parents and siblings.

Allocated Weekly Quantity Same as Available Quantity, except measured for an entire week instead of for only the requested date, and it doesn't include the quantity that Promising can get from the node's parents and siblings.
Total Allocated Weekly Quantity Same as Allocated Weekly Quantity, except it does include the quantity that Promising can get from the node's parents and siblings.

Example Payload

Assume you want to use Quick Availability Check to create the hierarchy described in Get Supply from a Node's Parent. Here's your input payload.

{
    "CallingModule": "GOP",
    "CallingInstance": "GOP",
    "RequestCreationDateTime": "2022-08-26",
    "ItemDetailList": [
        {
            "ItemIdentifier": "AS54888",
            "OrgInfoList": [
                {
                    "OrgIdentifier": "M2"
                }
            ],
            "RequestedDateTime": "2022-08-26",
            "AllocationNodeList": [
                {
                    "AllocationNodeFirstLevel": "Vision Operations",
                    "AllocationNodeSecondLevel": "High Volume Region",
                    "AllocationNodeThirdLevel": "Northeast"
                    "AllocationNodeThirdLevel": "Northwest"
                },
                {
                    "AllocationNodeFirstLevel": "Vision Operations",
                    "AllocationNodeSecondLevel": "Low Volume Region",
                    "AllocationNodeThirdLevel": "Southeast"
                    "AllocationNodeThirdLevel": "Southwest"
                },
                {
                    "AllocationNodeFirstLevel": "ALL"

                   }
            ]
        }
    ]
}

Here's the REST response you might receive, depending on the quantities that are available.

{
    "QuickAvailabilityCheckOutput": {
        "PromisingSystem": "HVGOP",
        "PromisingInstance": "GOP",
        "PromiseDateTime": "2022-08-26T00:00:00.000+0000",
        "ItemAvailabilityList": [
            {
                "ItemIdentifier": "RI-HV-ANALOG-MS2",
                "RequestedDateTime": "2022-08-26T00:00:00.000+0000",
                "ItemAvailabilityAtOrgList": [
                    {
                        "ShelfQuantity": 100,
                        "AvailableQuantity": 56,
                        "WeeklyAllocatedNodeQuantity": 12,
                        "WeeklyAllocatedTotalQuantity": 56,
                        "OrgInfoList": [
                            {
                                "OrgIdentifier": "M2"
                            }
                        ],
                        "AllocationNode": {
                            "AllocationNodeFirstLevel": "Vision Operations",
                            "AllocationNodeSecondLevel": "High Volume Region",
                            "AllocationNodeThirdLevel": "Northeast"
                            "AllocationNodeThirdLevel": "Northwest"
                        }
                    },
                    {
                        "ShelfQuantity": 100,
                        "AvailableQuantity": 33,
                        "WeeklyAllocatedNodeQuantity": 23,
                        "WeeklyAllocatedTotalQuantity": 33,
                        "OrgInfoList": [
                            {
                                "OrgIdentifier": "M2"
                            }
                        ],
                        "AllocationNode": {
                            "AllocationNodeFirstLevel": "Vision Operations",
                            "AllocationNodeSecondLevel": "Low Volume Region",
                            "AllocationNodeThirdLevel": "Southeast"
                            "AllocationNodeThirdLevel": "Southwest"
                        }
                    },
                    {
                        "ShelfQuantity": 100,
                        "AvailableQuantity": 10,
                        "WeeklyAllocatedNodeQuantity": 10,
                        "WeeklyAllocatedTotalQuantity": 10,
                        "OrgInfoList": [
                            {
                                "OrgIdentifier": "M2"
                            }
                        ],
                        "AllocationNode": {
                            "AllocationNodeFirstLevel": "Vision Operations"
                        }
                    }
                ]
            }
        ]
    }
}

Example 1, Check Availability, End of the Week

Consider an example:

  • The week starts on day 9 and ends on day 15.
  • You allocate according to a percentage.
  • The top level node has 30%, the next level node has 20%, and the lowest level has 50%.
  • The on hand supply is 70 units.
  • Shelf Quantity isn't allocated. It is the total ATP supply that's available for the item on the requested date.
  • You receive a purchase order for 30 units on day 13.
  • You use Quick Availability Check on day 13 for the Northwest node.

Here are the results.

Level Allocated Weekly Supply Shelf Quantity Available Quantity for Northwest Weekly Allocated Quantity for Northwest Total Weekly Allocated Quantity for Northwest
Top Level 30 100 50 - 50
Middle Level 20 - - - -
Bottom Level 50 - 50 50 -
Total 100 100 100 50 50

Quick Availability Check returns the quantity that's available on the requested date for Northwest, including:

  • Quantity that it gets from the High Volume Region node and the Vision Operations node
  • Quantity that you allocated for Northwest for the week

Note that the Shelf Quantity doesn't consider the allocation, so it includes total ATP supply that's available for the item on the requested date.

The Available Quantity for Northwest on the requested date is 100. It includes the supply that's available to meet new sales orders from Northwest's parent, grandparent, and siblings.

Example 2, Check Availability, Beginning of the Week

Assume the same conditions from example 1 but you use Quick Availability Check on day 11 instead of day 13.

Level Allocated Weekly Supply Shelf Quantity Available Quantity for Northwest Weekly Allocated Quantity for Northwest Total Weekly Allocated Quantity for Northwest
Top Level 30 70 35 - 50
Middle Level 20 - - - -
Bottom Level 50 - 35 50 -
Total 100 70 100 50 50

The Available Quantity for Northwest is the same as it was for example 1, except the purchase order of 30 units on day 13 hasn't happened yet, so there's only a quantity of 35 available for Northwest because 35 is 50% of 70.

Example 3, Check Availability, End of Week, When You Already Promised a Sales Order

Assume the same conditions from example 1 but with these differences:

  • You receive a purchase order for a quantity of 30 on day 13.
  • You already have a sales order that's scheduled for a quantity of 50 on day 11 for Northwest.

Here's what your supply will look like.

Level Allocated Weekly Supply Shelf Quantity Available Quantity for Northwest Weekly Allocated Quantity for Northwest Total Weekly Allocated Quantity for Northwest
Top Level 30 100 50 - 50
Middle Level 20 - - - -
Bottom Level 50 - 50 50 -
Total 100 100 100 50 50
Sales Order Already Scheduled - - -50 - -
Adjusted Total 100 100 50 50 100

The Available Quantity for Northwest is the same as it was for example 1, except we subtract the quantity of 50 that Promising allocated for the sales order that it already scheduled.

Example 4, Check Availability, Beginning of Week, When You Already Promised a Sales Order

Assume the same conditions from example 3 but you use Quick Availability Check on day 11 instead of day 13.

Here's what your supply will look like.

Level Allocated Weekly Supply Shelf Quantity Available Quantity for Northwest Weekly Allocated Quantity for Northwest Total Weekly Allocated Quantity for Northwest
Top Level 30 70 35 - 50
Middle Level 20 - - - -
Bottom Level 50 - 35 50 50
Total 100 70 70 50 100
Sales Order Already Scheduled - - -50 - -
Adjusted Total 100 70 20 50 100

The Available Quantity for Northwest is the same as it was for example 3, except the purchase order of 30 units on day 13 hasn't happened yet, so there's only a quantity of 20 available for Northwest.