Plan Reservations | ION Factory OS

The manual for the New ION Experience has been released.

Check it out! Here

For the complete documentation index, see llms.txt. This page is also available as Markdown.

When you have a constraint that cannot be represented in ION via other methods as mentioned in this documentation, than as a last resort, use reservations to manually manipulate your results.

Overview

If there are no reservations, Autoplan will allocate the first supply to the first demand. This should be the preferred approach because it will adjust your plan as supply and demand change, with no additional manual input required. However, at times, it may be useful to reserve supply for a specific plan. There may be certain constraints in your factory that necessitate a specific supply is used on a specific project.

When a plan reservation is in place, Autoplan will allocate that supply to demand from that plan and if there is no demand for that part on that plan, it will not be allocated.

See the video below for an example.

Adding/updating plan reservations

Plan reservations can be added via the inventory interface. Plan reservations can be added via the "Planned for" column:

Clicking "Add Plan reservation" will bring up a modal with options to select the plan and quantity. The quantity will default to the inventory quantity.

Creating a plan reservation

Clicking on the column again allows for the plan reservation to be edited or deleted.

Editing a plan reservation

API

Please see below for the different mutations and check out the video for more info.

Creating a Plan Reservation

mutation CreatePlanReservation($input: CreatePlanReservationInput!) {
    createPlanReservation(input: $input) {
        planReservation {
            id
            partInventoryId
            planId
            quantity
        }
    }
}

Getting Plan Reservations

query GetPlanReservations($filters: PlanReservationsInputFilters, $sort: [PlanReservationSortEnum]) {
    planReservations(sort: $sort, filters: $filters) {
        edges {
            node {
                id
                plan {
                    id
                    name
                }
                partInventory {
                    id
                    lotNumber
                    part {
                        partNumber
                        description
                    }
                    runs {
                        id
                    }
                    serialNumber
                }
                quantity
            }
        }

}
}

Deleting a Plan Reservation

mutation DeletePlanReservation($id: ID!, $etag: String!) {
    deletePlanReservation(id: $id, etag: $etag) {
        id
    }
}

The input for deleting the plan reservation will take the following shape:

{
    "id": <id>,
    "etag": <etag>
}

Plan Reservations manual

Previous: Applying a calendar

Next: Independent schedules

Last updated 1 year ago