Preview Production Schedule

Beta
PUT/v1/operations/production-schedules/actions/preview

This endpoint is idempotent. Learn more

Runs the production scheduling solver and returns the plan without saving it.

This is the inspection surface for the scheduler: it takes the same path a generated schedule will take, minus the write, so a plan can be reviewed and compared before anything depends on it. No version is created and nothing is numbered, so this can be called as often as needed.

The solver plans the constraint department — the room that sets the pace of the factory — so production schedule settings must name one and it must have machines that are included in planning. Without that there is nothing to schedule and the request is rejected rather than returning an empty plan.

Permissions requiredValues:production_schedules:read
The role behind your API key or agent must grant every one of these permissions.
planning_as_ofoptional string (date-time)

The instant to plan against, which is what stock, demand history and active demand overrides are read as of.

Left unset, the preview is solved against the moment the request arrives. The horizon starts on the account's configured week-start day on or before this instant, so backdating this shifts the whole week grid.

horizon_weeksoptional integer

Number of weeks the plan should cover, overriding the account's configured horizon for this preview only.

demand_basisoptional stringenumValues:trailing_12seasonal_ema

How future demand is derived, overriding the account's configured basis for this preview only.

  • trailing_12: demand is the trailing twelve months of orders.
  • seasonal_ema: demand is a seasonal exponential moving average, which follows a season arriving early or late rather than flattening it.
objectstringenumValues:production_schedule_preview

Resource type identifier.

solver_versionstring

Version of the solver that produced this plan.

planning_as_of_atstring (date-time)

The instant the plan was calculated against.

policieslistnullable

The computed inventory policy per item, ordered by constraint run hours descending.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of object

Resources in this page.

itementitynullable

The item this policy is for.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

skustring

SKU of the item.

fulfillment_policystringenumValues:make_to_stockmake_to_order

How this item was planned.

  • make_to_stock: built to the forecast, holding a safety stock against its variability.
  • make_to_order: built only against orders already on the book, holding no buffer, so its safety stocks and reorder point are all zero.
policy_sourcestringenumValues:itemproduct_lineaccount_default

Which rule decided that policy: the item itself, its product line, or the account default.

firm_demand_unitsnumber

Outstanding quantity the order book already owed for this item over the horizon.

forecast_demand_unitsnumber

Quantity the forecast projected for the same window.

annual_demandnumber

Demand used for planning, annualized.

weekly_demandnumber

Demand used for planning, per week.

seconds_per_unitnumber

How long one unit occupies the constraint.

unit_costnumber

Standard cost per unit.

setup_costnumber

Cost of one changeover, used as the setup cost in the lot-size calculation.

holding_costnumber

Annual cost of holding one unit.

eoq_unitsnumber

Economic order quantity: the campaign size that balances the cost of a changeover against the cost of holding what it produces.

constraint_lead_time_weeksnumber

Observed or default lead time at the constraint.

finish_lead_time_weeksnumber

Lead time from the constraint to sellable stock.

safety_stock_primarynumber

Buffer held at the constraint, pooled across the finished goods it feeds.

safety_stock_downstreamnumber

Buffer held as finished goods.

reorder_pointnumber

Stock position at which a campaign is triggered.

order_up_tonumber

Ceiling on how far ahead this item is built.

on_hand_echelonnumber

Stock on hand at the constraint plus everything downstream of it.

on_hand_greigenumber

Stock sitting at the constraint stage on its own.

average_greige_inventorynumber

What the constraint stage holds on average: its buffer plus half a campaign.

max_greige_inventorynumber

What the constraint stage holds at its peak: its buffer plus a whole campaign.

weeks_of_covernumber

Weeks of demand the current stock covers.

abc_classstringnullableenumValues:abc

ABC class by share of constraint run hours.

  • a: consumes the largest share of constraint capacity.
  • b: moderate constraint consumption.
  • c: consumes little constraint capacity.
annual_run_hoursnumber

Constraint hours this item's annual demand consumes.

campaignslistnullable

The planned production blocks.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of object

Resources in this page.

itementitynullable

The item to produce.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

skustring

SKU of the item.

machineentitynullable

The machine assigned to the campaign.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

week_indexinteger

Zero-based week offset from the start of the horizon.

unitsnumber

Quantity to produce.

lotsinteger

Whole lots the quantity rounds to.

run_hoursnumber

Constraint hours the campaign consumes.

projectionslistnullable

Projected stock position per item across the horizon.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of object

Resources in this page.

itementitynullable

The item the projection is for.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

on_hand_by_weekarray of number

Projected stock at the end of each week of the horizon.

diagnosticsobject

What the solver could not do.

eoq_capped_skusarray of string

Items whose economic lot size was reduced to fit one machine-week, meaning shorter and more frequent campaigns.

unschedulable_skusarray of string

Items that cannot fit even a single lot into a machine-week and are therefore never scheduled.

capacity_starved_skusarray of string

Items below their reorder point that never won a slot in the horizon.

This is the signal that the plant is short of capacity.

items_without_run_ratearray of string

Items with no measured run rate, which cannot be scheduled because their machine time is unknown.

excluded_item_countinteger

Number of items the merchant has excluded from planning.

constraint_machine_countinteger

Machines the constraint department contributed to this solve.

measured_batch_countinteger

Batches found on those machines in the demand window.

Zero means nothing has been scanned there, which is why a plan can be empty even with machines configured.

machines_without_stepinteger

Machines in the constraint department with no production step.

Their campaigns derive no downstream department work.

changeover_slope_minutesnumber

Minutes of changeover the model adds for each new input a product transition introduces.

Calibrated from measured production against average_inputs_added, so the modelled changeover lands on the time the floor actually reports rather than on a fixed allowance.

average_inputs_addednumber

Average inputs a product transition introduces, measured from history.

applied_overrideslistnullable

Every demand override that moved a number.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of object

Resources in this page.

overrideentitynullable

The override that was applied.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

itementitynullable

The item whose demand changed.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

month_starts_atstring (date-time)

The first instant of the month the override applied to.

beforenumber

Demand before the override.

afternumber

Demand after the override.

adjustmentstringenumValues:absolutedelta_unitsdelta_percent

How the override was expressed.

  • absolute: the override replaced the forecast for the month outright.
  • delta_units: the override was added to the forecast.
  • delta_percent: the override scaled the forecast.
reasonstringnullableenumValues:new_customerlost_accountpromotion

Why the override exists.

firm_demand_unitsnumber

Outstanding order quantity this plan owes, expressed in the constraint item's own unit.

Zero means nothing is on order and the plan is driven purely by the forecast.

undated_firm_order_countinteger

Open orders carrying no ship-by commitment, dated at the front of the horizon because they are issued and unshipped.

A non-zero count means orders placed before commitments were tracked still need a ship-by date.

make_to_order_item_countinteger

Planned items built only against the order book rather than to a forecast.

at_risk_orderslistnullable

Commitments this plan does not meet.

objectstringenumValues:list

Resource type identifier.

page_infoobject

Pagination metadata.

next_page_urlstringnullable

Relative URL that fetches the next page of results.

previous_page_urlstringnullable

Relative URL that fetches the previous page of results.

has_next_pageboolean

Whether more results exist after this page.

has_prev_pageboolean

Whether results exist before this page.

dataarray of schedule_at_risk_order

Resources in this page.

objectstringenumValues:schedule_at_risk_order

Resource type identifier.

sales_orderentitynullable

The order at risk.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

itementitynullable

The item that has to be produced to meet it.

idstring

Unique identifier for the entity.

objectstringenumValues:entity

Resource type identifier.

typestringenumValues:accountactorentity

The resource kind that this entity references, as an object-type value (e.g. user, account).

Unlike object — which is always entity — this names the underlying resource the id points to.

namestringnullable

Human-readable display name for the entity (e.g. a user's full name, a sales order number).

handlestringnullable

Secondary human-readable identifier (e.g. email address, username, redacted API key value).

skustring

SKU of that item.

unitsnumber

Outstanding quantity still owed.

due_weekinteger

Horizon week the constraint stage has to finish in for the order to ship on time.

reasonstringenumValues:past_dueundatedshort

Why the commitment is at risk.

  • past_due: production needed to start before this plan begins.
  • undated: the order carries no ship-by commitment, so it is treated as owed now.
  • short: the plan projects less stock than the order needs in the week it is needed.
finishingobject

How the second stage — the rest of the factory — fared against the plan the constraint produced.

weekly_capacity_hoursnumber

Hours the second stage can work in one week.

planned_hours_by_weekarray of number

Hours the plan asks of it, week by week.

utilisation_by_weekarray of number

Those hours as a fraction of capacity, week by week.

greige_starved_skusarray of string

Finished goods that wanted building across the whole horizon and never had greige to build from.

capacity_starved_skusarray of string

Finished goods that had greige and never had hours.

items_without_run_ratearray of string

Finished goods with no measured finishing rate, which cannot be levelled because the hours they cost are unknown.

unused_greige_unitsnumber

Constraint output the horizon never converts into anything.

A large figure means the two stages are planned against different demand, which is worth looking at rather than leaving as an unexplained pile of greige.

total_planned_unitsnumber

Total finished units the stage plans across the horizon.

line_countinteger

How many finishing lines the plan holds.

finishing_machine_countinteger

Machines outside the constraint department that the second stage was sized from.

Zero means its capacity was estimated from the shift pattern alone rather than counted.

finishing_capacity_is_estimatedboolean

Whether the second stage's capacity was estimated rather than counted from machines.

Responses

200

Successful response for Preview Production Schedule