{
  "openapi": "3.1.1",
  "info": {
    "title": "MFP2026.Web | v1",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://mfp.modernfold.com/"
    }
  ],
  "paths": {
    "/api/v1/health": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "API liveness probe (anonymous).",
        "operationId": "GetApiHealth",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiHealthResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/warranty": {
      "get": {
        "tags": [
          "Warranty"
        ],
        "summary": "Quality and warranty reports filed in the last six months against the wall's model and product type, grouped into recurring problems.",
        "operationId": "GetWallWarranty",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WallWarrantyHistory"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "The most recently active orders, to browse without already knowing an order number.",
        "operationId": "ListRecentOrders",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RecentOrder"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/in-production": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "Every panel the plant is building right now: its wall is on the scheduler's live plant sequence and it has not been scanned as packed. Floor order.",
        "operationId": "ListPanelsInProduction",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PanelInProduction"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/packed": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "Packing scans and manual packing entries from the last `days` days (default 7, max 31), newest first, resolved to the Processing panel where the scan named one.",
        "operationId": "ListPackedPanels",
        "parameters": [
          {
            "name": "days",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32",
              "default": 7
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PackedPanel"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "Order lines (walls) on an order, from Processing; archived lines are flagged.",
        "operationId": "ListOrderLines",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrderLine"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "Every panel on one order line.",
        "operationId": "ListPanels",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PanelSummary"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/wall": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "One wall's engineering header: coverings, track, hinges, seal, inspection heights, warning and trolley note.",
        "operationId": "GetWall",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WallDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/pass-doors": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "Every pass door on a wall, decoded from the TCM order-line configurator.",
        "operationId": "ListPassDoors",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PassDoor"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/panels/{panelId}": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "One panel's full attributes.",
        "operationId": "GetPanel",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "panelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PanelDetail"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/panels/{panelId}/coverings": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "One panel's per-face coverings, colours, work surfaces and eraser holders.",
        "operationId": "GetPanelCoverings",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "panelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PanelCoverings"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/panels/{panelId}/shop-order-finish": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "The face and nose finishes the TCM shop order carries for the panel, to compare with Processing's coverings.",
        "operationId": "GetPanelShopOrderFinish",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "panelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShopOrderFinish"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/panels/{panelId}/cut-list": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "The panel's engineering cut list, with the workstation for each item.",
        "operationId": "ListPanelCutList",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "panelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PanelCutItem"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/panels/{panelId}/materials": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "Every material the panel's bill of materials consumes.",
        "operationId": "ListPanelMaterials",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "panelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PanelMaterial"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/panels/{panelId}/crating": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "The panel's crate slots and skid loading positions.",
        "operationId": "GetPanelCrating",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "panelId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PanelCrating"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/visual-aids/{panelNumber}": {
      "get": {
        "tags": [
          "Panels"
        ],
        "summary": "The shop-floor visual aid image for a catalog part number.",
        "operationId": "GetVisualAid",
        "parameters": [
          {
            "name": "panelNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/drawings": {
      "get": {
        "tags": [
          "Drawings"
        ],
        "summary": "The JPEG previews and PDFs MPM has rendered for a wall; empty lists when the wall is linked to MPM but not yet drawn there.",
        "operationId": "ListWallDrawings",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WallDrawings"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/panels/orders/{orderNumber}/lines/{lineNumber}/drawings/{fileName}": {
      "get": {
        "tags": [
          "Drawings"
        ],
        "summary": "One of the wall's drawing files, by the name the list returned.",
        "operationId": "GetWallDrawing",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/shop-orders/to-be-entered": {
      "get": {
        "tags": [
          "Shop orders"
        ],
        "summary": "Every shop order waiting for TCM data entry, in working order, with the counts the demand board leads with.",
        "operationId": "GetShopOrdersToBeEntered",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShopOrderDemandBoard"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/crating/{orderNumber}": {
      "get": {
        "tags": [
          "Crating"
        ],
        "summary": "An order's crate load: product, rules, whether it is generated, its packing configuration, print verdict and every crate with its panels and validation.",
        "operationId": "GetCrateLayout",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrateLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/crating/{orderNumber}/generate": {
      "post": {
        "tags": [
          "Crating"
        ],
        "summary": "Run the crate configurator and validate the result. 409 when a load already exists; 400 for an L-skid order. An order the configurator declines (no usable crating option) comes back with isGenerated false.",
        "operationId": "GenerateCrateLoad",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrateLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/crating/{orderNumber}/validate": {
      "post": {
        "tags": [
          "Crating"
        ],
        "summary": "Recompute every crate's dimensions and verdicts. 409 when no load exists.",
        "operationId": "ValidateCrateLoad",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrateLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/crating/{orderNumber}/crates/{crate}/rows": {
      "put": {
        "tags": [
          "Crating"
        ],
        "summary": "Make one crate hold the given number of panels; Processing repacks the crates after it. Fewer rows is the legacy 'stop here', one more is 'add a row'.",
        "operationId": "SetCrateRows",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "crate",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCrateRowsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrateLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/crating/{orderNumber}/configuration": {
      "put": {
        "tags": [
          "Crating"
        ],
        "summary": "Choose FewestCrates or IndividualCrates; the configurator repacks and validates.",
        "operationId": "SetCrateConfiguration",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetCrateConfigurationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CrateLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}": {
      "get": {
        "tags": [
          "Skids"
        ],
        "summary": "An order's L-skid loading plan: whether it uses L-skids, whether a plan exists, every skid with its panels and verdict, the print verdict and the panic-door rules.",
        "operationId": "GetSkidLayout",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/generate": {
      "post": {
        "tags": [
          "Skids"
        ],
        "summary": "Distribute the order's panels onto skids from scratch, then validate. 409 when a plan exists; 400 when the TCM order has no L-skid option.",
        "operationId": "GenerateSkidPlan",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/validate": {
      "post": {
        "tags": [
          "Skids"
        ],
        "summary": "Rebuild the pack list and rerun skid validation. 409 when no plan exists.",
        "operationId": "ValidateSkidPlan",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/flip": {
      "post": {
        "tags": [
          "Skids"
        ],
        "summary": "Reverse the loading order of every skid.",
        "operationId": "FlipAllSkids",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/skids/{skid}/flip": {
      "post": {
        "tags": [
          "Skids"
        ],
        "summary": "Reverse one skid's loading order.",
        "operationId": "FlipSkid",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "skid",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/skids/{skid}/rows": {
      "put": {
        "tags": [
          "Skids"
        ],
        "summary": "Make one skid hold the given number of panels; Processing repacks the skids after it.",
        "operationId": "SetSkidRows",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "skid",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSkidRowsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/skids/{skid}/move": {
      "post": {
        "tags": [
          "Skids"
        ],
        "summary": "Swap a skid's contents with its Left or Right neighbour.",
        "operationId": "MoveSkid",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "skid",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveSkidRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/skids/{skid}/rows/{row}/move": {
      "post": {
        "tags": [
          "Skids"
        ],
        "summary": "Swap a panel with the one Up or Down from it on the same skid.",
        "operationId": "MoveSkidRow",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "skid",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "row",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveSkidRowRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/skids/{orderNumber}/reset": {
      "post": {
        "tags": [
          "Skids"
        ],
        "summary": "Relay every panel by opening and panel number, doors last when asked. Discards manual changes.",
        "operationId": "ResetSkidPlan",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetSkidsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SkidLayout"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders": {
      "get": {
        "tags": [
          "Processing"
        ],
        "summary": "Every TCM order the plant may process, newest first, with how many lines Processing has engineered and processed.",
        "operationId": "ListProcessingOrders",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProcessingOrderSummary"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}": {
      "get": {
        "tags": [
          "Processing"
        ],
        "summary": "An order's processing lines as TCM lists them, its product family, and the wall marks already processed.",
        "operationId": "GetProcessingOrder",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessingOrder"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}/lines/{lineNumber}": {
      "get": {
        "tags": [
          "Processing"
        ],
        "summary": "One wall: TCM's engineering inputs, the derived family, model and allowances, the panels already in Processing, and whether the line is engineered and processed.",
        "operationId": "GetProcessingWall",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessingWall"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}/lines/{lineNumber}/lookups": {
      "get": {
        "tags": [
          "Processing"
        ],
        "summary": "The panel grid's dropdown vocabularies for the wall: TCM panel numbers, pass-door types, and the work-surface, eraser-holder and Acousti-Clear covering lists its family uses.",
        "operationId": "GetProcessingWallLookups",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WallLookups"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}/lines/{lineNumber}/validate": {
      "post": {
        "tags": [
          "Processing"
        ],
        "summary": "Run the legacy panel validation rules (ORD-16 to ORD-28) over a submitted grid without writing.",
        "operationId": "ValidateProcessingPanels",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveWallRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ValidationWarning"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}/lines/{lineNumber}/panels": {
      "put": {
        "tags": [
          "Processing"
        ],
        "summary": "The legacy Save: validate, write the wall header (finish parameters and inspection heights computed server-side) and the grid, audit the warnings, return the wall. 400 for a track or weldment line or an unknown panel id.",
        "operationId": "SaveProcessingWall",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SaveWallRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaveWallResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}/lines/{lineNumber}/panels/load-from-mpm": {
      "post": {
        "tags": [
          "Processing"
        ],
        "summary": "For a line with no panels yet, fetch MPM's panel list and dimensions and write them as the grid; 409 when panels exist.",
        "operationId": "LoadProcessingPanelsFromMpm",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaveWallResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}/lines/{lineNumber}/revise": {
      "post": {
        "tags": [
          "Processing"
        ],
        "summary": "The legacy Revise (ORD-59): flag the wall for shop-order recreation through ShopOrder's spShopOrderStaging_Revise, recorded against the caller (email local part, else token subject). 400 for a family without TCM shop orders or a line with no panels.",
        "operationId": "ReviseProcessingWall",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShopOrderRevision"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/processing/orders/{orderNumber}/lines/{lineNumber}/process": {
      "post": {
        "tags": [
          "Processing"
        ],
        "summary": "The legacy Process (ORD-29 to ORD-49): validate the saved grid, rewrite the wall header, run the formula engine over every panel and the wall-level rows into tblProcessing (replacing the line's rows in one transaction), audit the findings, and run the crate configurator where deployed. 400 for a line with no panels or an Encore wall with no covering allowance.",
        "operationId": "ProcessProcessingWall",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "lineNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessWallResult"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/accordion": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "The 19 accordion production reports: name, title, whether each is selected by schedule date or by order number, and the mf_Scheduler source it reads.",
        "operationId": "ListAccordionReports",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccordionReportInfo"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/accordion/cut-sheet": {
      "post": {
        "tags": [
          "Reports"
        ],
        "summary": "Regenerates the accordion crate records for one order (orderNumber) or one schedule date (scheduleDate, yyyy-MM-dd; every active order scheduled then or in the five days before) and returns the crating cut sheet as PDF. 400 unless exactly one is given, 503 when Processing or the report engine is unavailable.",
        "operationId": "GenerateAccordionCutSheet",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "scheduleDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/accordion/{name}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Renders one accordion report as PDF. By-date reports take scheduleDate (yyyy-MM-dd); _Order reports take orderNumber. 400 when the needed one is missing, 404 for an unknown name, 503 when mf_Scheduler or the report engine is unavailable.",
        "operationId": "RenderAccordionReport",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scheduleDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "orderNumber",
            "in": "query",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/acousti-clear/{orderNumber}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "An Acousti-Clear order's print packet, report by report: which packet each belongs to, whether the legacy conditions include it for this order, and whether it writes. 404 when Processing has no lines for the order, 400 when it is not Acousti-Clear.",
        "operationId": "DescribeAcoustiClearPacket",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcoustiClearReportSet"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/acousti-clear/{orderNumber}/packets/{packet}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "The PreProcessing or Labels packet as one PDF (packet: PreProcessing or Labels). The Report packet writes and is a POST. 404 when the order has none of the packet's sheets.",
        "operationId": "RenderAcoustiClearPacket",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "packet",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/AcoustiClearPacket"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/acousti-clear/{orderNumber}/packets/report": {
      "post": {
        "tags": [
          "Reports"
        ],
        "summary": "The Report packet as one PDF, in the legacy's order and copy counts. Regenerates the order's crate cut measurements (CRATE_PACKING_CUT_MEASUREMENTS_Scheduler) when the crate load passes the print checks.",
        "operationId": "GenerateAcoustiClearReportPacket",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/acousti-clear/{orderNumber}/cut-sheet": {
      "post": {
        "tags": [
          "Reports"
        ],
        "summary": "Regenerates the order's crate cut measurements and returns the crate cut sheet (CRATING_Acousti_Clear_Cut_Sheet) as PDF.",
        "operationId": "GenerateAcoustiClearCutSheet",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/reports/acousti-clear/{orderNumber}/{name}": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "One report of the packet as PDF, by its legacy file name (Summary, PackingLists1, CutSheets, Labels-Walls, ...), whether or not the packet includes it for this order. 404 for an unknown name; the cut sheet is refused (use POST /cut-sheet).",
        "operationId": "RenderAcoustiClearReport",
        "parameters": [
          {
            "name": "orderNumber",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    },
    "/api/v1/search": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Searches orders, walls, panels, TCM shop orders, MPM projects and walls, and the application's own pages, actions, reports and statuses.",
        "operationId": "Search",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "OAuth2": [
              "openid"
            ]
          },
          {
            "Bearer": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AccordionReportInfo": {
        "required": [
          "name",
          "title",
          "selectedBy",
          "landscape",
          "source"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "selectedBy": {
            "$ref": "#/components/schemas/AccordionReportSelection"
          },
          "landscape": {
            "type": "boolean"
          },
          "source": {
            "type": "string"
          }
        }
      },
      "AccordionReportSelection": {
        "enum": [
          "ScheduleDate",
          "OrderNumber"
        ]
      },
      "AcoustiClearPacket": {
        "enum": [
          "PreProcessing",
          "Report",
          "Labels"
        ]
      },
      "AcoustiClearReportInfo": {
        "required": [
          "key",
          "title",
          "packet",
          "included",
          "note",
          "writes"
        ],
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "packet": {
            "$ref": "#/components/schemas/AcoustiClearPacket"
          },
          "included": {
            "type": "boolean"
          },
          "note": {
            "type": [
              "null",
              "string"
            ]
          },
          "writes": {
            "type": "boolean"
          }
        }
      },
      "AcoustiClearReportSet": {
        "required": [
          "orderNumber",
          "models",
          "demountable",
          "cratingPrintable",
          "cratingNote",
          "reports"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "models": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "demountable": {
            "type": "boolean"
          },
          "cratingPrintable": {
            "type": "boolean"
          },
          "cratingNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "reports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AcoustiClearReportInfo"
            }
          }
        }
      },
      "ApiHealthResponse": {
        "required": [
          "status",
          "utc"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          },
          "utc": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Crate": {
        "required": [
          "number",
          "headerDescription",
          "isLastCrate",
          "slots",
          "length",
          "width",
          "panelSpaceWidth",
          "weight",
          "lengthCheck",
          "panelSpaceCheck",
          "weightCheck",
          "isValid",
          "validationMessage"
        ],
        "type": "object",
        "properties": {
          "number": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "headerDescription": {
            "type": [
              "null",
              "string"
            ]
          },
          "isLastCrate": {
            "type": "boolean"
          },
          "slots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CrateSlot"
            }
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "width": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "panelSpaceWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "weight": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lengthCheck": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelSpaceCheck": {
            "type": [
              "null",
              "string"
            ]
          },
          "weightCheck": {
            "type": [
              "null",
              "string"
            ]
          },
          "isValid": {
            "type": "boolean"
          },
          "validationMessage": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "CrateConfigurationType": {
        "enum": [
          "FewestCrates",
          "IndividualCrates",
          "Custom",
          null
        ]
      },
      "CrateFamily": {
        "enum": [
          "SteelNonSteelEncore",
          "GlassWall",
          "AcoustiClear"
        ]
      },
      "CrateLayout": {
        "required": [
          "orderNumber",
          "productModel",
          "family",
          "rules",
          "hasCratingOption",
          "isLSkidOrder",
          "isGenerated",
          "configuration",
          "canBePrinted",
          "crates"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "productModel": {
            "type": [
              "null",
              "string"
            ]
          },
          "family": {
            "$ref": "#/components/schemas/CrateFamily"
          },
          "rules": {
            "$ref": "#/components/schemas/CrateRules"
          },
          "hasCratingOption": {
            "type": "boolean"
          },
          "isLSkidOrder": {
            "type": "boolean"
          },
          "isGenerated": {
            "type": "boolean"
          },
          "configuration": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CrateConfigurationType"
              }
            ]
          },
          "canBePrinted": {
            "type": "boolean"
          },
          "crates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Crate"
            }
          },
          "crateCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "invalidCrateCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "CrateRules": {
        "required": [
          "maxLength",
          "maxWidth",
          "maxPanelSpaceWidth",
          "maxWeight",
          "maxRows"
        ],
        "type": "object",
        "properties": {
          "maxLength": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxPanelSpaceWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "maxWeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "maxRows": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lengthInclusive": {
            "type": "boolean",
            "default": false
          }
        }
      },
      "CrateSlot": {
        "required": [
          "row",
          "description"
        ],
        "type": "object",
        "properties": {
          "row": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "LookupOption": {
        "required": [
          "code",
          "description"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "MoveSkidRequest": {
        "required": [
          "direction"
        ],
        "type": "object",
        "properties": {
          "direction": {
            "$ref": "#/components/schemas/SkidDirection"
          }
        }
      },
      "MoveSkidRowRequest": {
        "required": [
          "direction"
        ],
        "type": "object",
        "properties": {
          "direction": {
            "$ref": "#/components/schemas/RowDirection"
          }
        }
      },
      "MpmWall": {
        "required": [
          "projectId",
          "wallId",
          "distributorId",
          "wallDesignation",
          "product"
        ],
        "type": "object",
        "properties": {
          "projectId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "wallId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "distributorId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "wallDesignation": {
            "type": "string"
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "OrderLine": {
        "required": [
          "orderNumber",
          "lineNumber",
          "jobNumber",
          "wallMark",
          "product",
          "model",
          "panelCount",
          "isArchived"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "isArchived": {
            "type": "boolean"
          }
        }
      },
      "PackedPanel": {
        "required": [
          "orderNumber",
          "lineNumber",
          "panelId",
          "section",
          "quantity",
          "packedOn",
          "shift",
          "packedBy",
          "scannedAt",
          "panelNumber",
          "wallMark",
          "jobNumber",
          "jobName",
          "product",
          "model",
          "shipDate"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelId": {
            "type": [
              "null",
              "string"
            ]
          },
          "section": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "packedOn": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "shift": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "packedBy": {
            "type": [
              "null",
              "string"
            ]
          },
          "scannedAt": {
            "type": "string",
            "format": "date-time"
          },
          "panelNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobName": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          },
          "shipDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "PanelCoverings": {
        "required": [
          "materialRight",
          "colorRight",
          "materialLeft",
          "colorLeft",
          "materialTopRight",
          "colorTopRight",
          "materialMiddleRight",
          "colorMiddleRight",
          "materialBottomRight",
          "colorBottomRight",
          "materialTopLeft",
          "colorTopLeft",
          "materialMiddleLeft",
          "colorMiddleLeft",
          "materialBottomLeft",
          "colorBottomLeft",
          "workSurfaceTypeRight",
          "workSurfaceSizeRight",
          "workSurfaceAffRight",
          "workSurfaceTypeLeft",
          "workSurfaceSizeLeft",
          "workSurfaceAffLeft",
          "eraserHolderRight",
          "eraserHolderLeft"
        ],
        "type": "object",
        "properties": {
          "materialRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialTopRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorTopRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialMiddleRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorMiddleRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialBottomRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorBottomRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialTopLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorTopLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialMiddleLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorMiddleLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialBottomLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorBottomLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceTypeRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceSizeRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceAffRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceTypeLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceSizeLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceAffLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "eraserHolderRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "eraserHolderLeft": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PanelCrateSlot": {
        "required": [
          "crateNumber",
          "crateRow",
          "letter"
        ],
        "type": "object",
        "properties": {
          "crateNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "crateRow": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "letter": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PanelCrating": {
        "required": [
          "crateSlots",
          "skidPositions"
        ],
        "type": "object",
        "properties": {
          "crateSlots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PanelCrateSlot"
            }
          },
          "skidPositions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PanelSkidPosition"
            }
          }
        }
      },
      "PanelCutItem": {
        "required": [
          "itemNumber",
          "description",
          "report",
          "section",
          "quantity",
          "cutLength",
          "cutWidth",
          "formLength",
          "formWidth",
          "xDimension1",
          "xDimension2",
          "xDimension3",
          "materialNumber",
          "hingeSpacing",
          "colorRight",
          "colorLeft",
          "workStation",
          "itemType"
        ],
        "type": "object",
        "properties": {
          "itemNumber": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "report": {
            "type": "string"
          },
          "section": {
            "type": "string"
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "cutLength": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "cutWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "formLength": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "formWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "xDimension1": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "xDimension2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "xDimension3": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "materialNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "hingeSpacing": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "workStation": {
            "type": [
              "null",
              "string"
            ]
          },
          "itemType": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PanelDetail": {
        "required": [
          "orderNumber",
          "lineNumber",
          "panelId",
          "shopOrder",
          "wallMark",
          "jobNumber",
          "panelNumber",
          "panelNumber6",
          "panelNumberSuffix",
          "panelWidth",
          "panelHeight",
          "carrierCenters",
          "trailBackset",
          "leadBackset",
          "mullionTop",
          "mullionBottom",
          "trolleyNumber1",
          "trolleyNumber2",
          "passDoorType",
          "passDoorHeight",
          "passDoorWidth",
          "hingeAllowance",
          "shimNote",
          "tapeNote",
          "model",
          "panelType",
          "processingPanelType",
          "product",
          "frame",
          "skin",
          "mullionCount",
          "bottomSeal",
          "pairing",
          "blinds",
          "isSpliced",
          "topSection",
          "bottomSection",
          "hasVisualAid",
          "lastUpdated",
          "isArchived"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelId": {
            "type": "string"
          },
          "shopOrder": {
            "type": [
              "null",
              "string"
            ]
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelNumber6": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelNumberSuffix": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "panelHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "carrierCenters": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "trailBackset": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "leadBackset": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "mullionTop": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "mullionBottom": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "trolleyNumber1": {
            "type": [
              "null",
              "string"
            ]
          },
          "trolleyNumber2": {
            "type": [
              "null",
              "string"
            ]
          },
          "passDoorType": {
            "type": [
              "null",
              "string"
            ]
          },
          "passDoorHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "passDoorWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "hingeAllowance": {
            "type": [
              "null",
              "string"
            ]
          },
          "shimNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "tapeNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelType": {
            "type": [
              "null",
              "string"
            ]
          },
          "processingPanelType": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "frame": {
            "type": [
              "null",
              "string"
            ]
          },
          "skin": {
            "type": [
              "null",
              "string"
            ]
          },
          "mullionCount": {
            "type": [
              "null",
              "string"
            ]
          },
          "bottomSeal": {
            "type": [
              "null",
              "string"
            ]
          },
          "pairing": {
            "type": [
              "null",
              "string"
            ]
          },
          "blinds": {
            "type": [
              "null",
              "string"
            ]
          },
          "isSpliced": {
            "type": "boolean"
          },
          "topSection": {
            "type": [
              "null",
              "string"
            ]
          },
          "bottomSection": {
            "type": [
              "null",
              "string"
            ]
          },
          "hasVisualAid": {
            "type": "boolean"
          },
          "lastUpdated": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isArchived": {
            "type": "boolean"
          }
        }
      },
      "PanelEdit": {
        "type": "object",
        "properties": {
          "panelId": {
            "type": "string"
          },
          "panelNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "panelHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "carrierCenters": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "trailBackset": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "leadBackset": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "passDoorType": {
            "type": [
              "null",
              "string"
            ]
          },
          "passDoorHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "passDoorWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "trolleyNumber1": {
            "type": [
              "null",
              "string"
            ]
          },
          "trolleyNumber2": {
            "type": [
              "null",
              "string"
            ]
          },
          "intersectRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "intersectLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "createShopOrder": {
            "type": "boolean"
          },
          "materialRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "mullionBottom": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "mullionTop": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "materialTopLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorTopLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialMiddleLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorMiddleLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialBottomLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorBottomLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialTopRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorTopRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialMiddleRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorMiddleRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialBottomRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorBottomRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceTypeRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceSizeRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceAffRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceTypeLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceSizeLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceAffLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "eraserHolderRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "eraserHolderLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "isJamb": {
            "type": "boolean"
          },
          "isTrailJamb": {
            "type": "boolean"
          },
          "isLeadJamb": {
            "type": "boolean"
          },
          "isWeldment": {
            "type": "boolean"
          },
          "panelPosition": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "PanelInProduction": {
        "required": [
          "orderNumber",
          "lineNumber",
          "panelId",
          "panelNumber",
          "wallMark",
          "jobNumber",
          "jobName",
          "product",
          "model",
          "productLine",
          "floorDate",
          "shipDate",
          "wallUnits",
          "wallPacked",
          "onHold"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelId": {
            "type": "string"
          },
          "panelNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobName": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          },
          "productLine": {
            "type": [
              "null",
              "string"
            ]
          },
          "floorDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "shipDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "wallUnits": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "wallPacked": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "onHold": {
            "type": "boolean"
          }
        }
      },
      "PanelMaterial": {
        "required": [
          "componentItemNumber",
          "description",
          "quantity",
          "unitOfMeasure",
          "section"
        ],
        "type": "object",
        "properties": {
          "componentItemNumber": {
            "type": "string"
          },
          "description": {
            "type": [
              "null",
              "string"
            ]
          },
          "quantity": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "unitOfMeasure": {
            "type": [
              "null",
              "string"
            ]
          },
          "section": {
            "type": "string"
          }
        }
      },
      "PanelSkidPosition": {
        "required": [
          "skidNumber",
          "loadOrder",
          "panelType",
          "code",
          "totalWidth",
          "isDoor",
          "isValid",
          "validationMessage"
        ],
        "type": "object",
        "properties": {
          "skidNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "loadOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelType": {
            "type": [
              "null",
              "string"
            ]
          },
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "totalWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "isDoor": {
            "type": "boolean"
          },
          "isValid": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "validationMessage": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PanelSummary": {
        "required": [
          "orderNumber",
          "lineNumber",
          "panelId",
          "panelNumber",
          "panelType",
          "panelWidth",
          "panelHeight",
          "model"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelId": {
            "type": "string"
          },
          "panelNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelType": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "panelHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "PassDoor": {
        "required": [
          "orderNumber",
          "lineNumber",
          "panelId",
          "swing",
          "size",
          "style",
          "hingeEnd",
          "hardware",
          "closer",
          "deadBolt",
          "hingeType",
          "a2Mating",
          "exitSignType",
          "exitSignColor",
          "exitSignFrame",
          "purchaseNumber",
          "doorViewer"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelId": {
            "type": [
              "null",
              "string"
            ]
          },
          "swing": {
            "type": [
              "null",
              "string"
            ]
          },
          "size": {
            "type": [
              "null",
              "string"
            ]
          },
          "style": {
            "type": [
              "null",
              "string"
            ]
          },
          "hingeEnd": {
            "type": [
              "null",
              "string"
            ]
          },
          "hardware": {
            "type": [
              "null",
              "string"
            ]
          },
          "closer": {
            "type": [
              "null",
              "string"
            ]
          },
          "deadBolt": {
            "type": [
              "null",
              "string"
            ]
          },
          "hingeType": {
            "type": [
              "null",
              "string"
            ]
          },
          "a2Mating": {
            "type": [
              "null",
              "string"
            ]
          },
          "exitSignType": {
            "type": [
              "null",
              "string"
            ]
          },
          "exitSignColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "exitSignFrame": {
            "type": [
              "null",
              "string"
            ]
          },
          "purchaseNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "doorViewer": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ProcessingOrder": {
        "required": [
          "orderNumber",
          "product",
          "processedWallMarks",
          "lines"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "processedWallMarks": {
            "type": [
              "null",
              "string"
            ]
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProcessingOrderLine"
            }
          }
        }
      },
      "ProcessingOrderLine": {
        "required": [
          "lineNumber",
          "label",
          "isEngineered",
          "isProcessed",
          "panelCount",
          "wallMark",
          "product",
          "model"
        ],
        "type": "object",
        "properties": {
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "label": {
            "type": "string"
          },
          "isEngineered": {
            "type": "boolean"
          },
          "isProcessed": {
            "type": "boolean"
          },
          "panelCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ProcessingOrderSummary": {
        "required": [
          "orderNumber",
          "jobNumber",
          "product",
          "engineeredLines",
          "processedLines",
          "lastEngineered"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "engineeredLines": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "processedLines": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lastEngineered": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "stage": {
            "$ref": "#/components/schemas/ProcessingStage"
          }
        }
      },
      "ProcessingPanel": {
        "required": [
          "panelId",
          "panelNumber",
          "shopOrder",
          "shopOrderWithSuffix",
          "panelWidth",
          "panelHeight",
          "carrierCenters",
          "trailBackset",
          "leadBackset",
          "passDoorType",
          "passDoorHeight",
          "passDoorWidth",
          "trolleyNumber1",
          "trolleyNumber2",
          "intersectRight",
          "intersectLeft",
          "createShopOrder",
          "materialRight",
          "materialLeft",
          "colorRight",
          "colorLeft",
          "materialTopLeft",
          "colorTopLeft",
          "materialMiddleLeft",
          "colorMiddleLeft",
          "materialBottomLeft",
          "colorBottomLeft",
          "materialTopRight",
          "colorTopRight",
          "materialMiddleRight",
          "colorMiddleRight",
          "materialBottomRight",
          "colorBottomRight",
          "mullionBottom",
          "mullionTop",
          "workSurfaceTypeRight",
          "workSurfaceSizeRight",
          "workSurfaceAffRight",
          "workSurfaceTypeLeft",
          "workSurfaceSizeLeft",
          "workSurfaceAffLeft",
          "eraserHolderRight",
          "eraserHolderLeft",
          "lastUpdated"
        ],
        "type": "object",
        "properties": {
          "panelId": {
            "type": "string"
          },
          "panelNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "shopOrder": {
            "type": [
              "null",
              "string"
            ]
          },
          "shopOrderWithSuffix": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "panelHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "carrierCenters": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "trailBackset": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "leadBackset": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "passDoorType": {
            "type": [
              "null",
              "string"
            ]
          },
          "passDoorHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "passDoorWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "trolleyNumber1": {
            "type": [
              "null",
              "string"
            ]
          },
          "trolleyNumber2": {
            "type": [
              "null",
              "string"
            ]
          },
          "intersectRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "intersectLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "createShopOrder": {
            "type": "boolean"
          },
          "materialRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialTopLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorTopLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialMiddleLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorMiddleLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialBottomLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorBottomLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialTopRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorTopRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialMiddleRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorMiddleRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "materialBottomRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "colorBottomRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "mullionBottom": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "mullionTop": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceTypeRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceSizeRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceAffRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceTypeLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "workSurfaceSizeLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "workSurfaceAffLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "eraserHolderRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "eraserHolderLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastUpdated": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isJamb": {
            "type": "boolean"
          },
          "isWeldment": {
            "type": "boolean"
          }
        }
      },
      "ProcessingStage": {
        "enum": [
          "NotStarted",
          "InProgress",
          "Processed"
        ]
      },
      "ProcessingWall": {
        "required": [
          "parameters",
          "derived",
          "panels",
          "isEngineered",
          "processingRowCount",
          "warning",
          "lastEngineered"
        ],
        "type": "object",
        "properties": {
          "parameters": {
            "$ref": "#/components/schemas/WallParameters"
          },
          "derived": {
            "$ref": "#/components/schemas/WallDerived"
          },
          "panels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProcessingPanel"
            }
          },
          "isEngineered": {
            "type": "boolean"
          },
          "processingRowCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "warning": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastEngineered": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isProcessed": {
            "type": "boolean"
          },
          "hasPanels": {
            "type": "boolean"
          }
        }
      },
      "ProcessWallResult": {
        "required": [
          "wall",
          "processed",
          "linesWritten",
          "procedureCalls",
          "panelsProcessed",
          "warnings",
          "notes",
          "crateConfigured",
          "processedWallMarks"
        ],
        "type": "object",
        "properties": {
          "wall": {
            "$ref": "#/components/schemas/ProcessingWall"
          },
          "processed": {
            "type": "boolean"
          },
          "linesWritten": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "procedureCalls": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelsProcessed": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationWarning"
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "crateConfigured": {
            "type": "boolean"
          },
          "processedWallMarks": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "RecentOrder": {
        "required": [
          "orderNumber",
          "jobNumber",
          "product",
          "lineCount",
          "lastActivity"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "lineCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lastActivity": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ResetSkidsRequest": {
        "required": [
          "doorsLast"
        ],
        "type": "object",
        "properties": {
          "doorsLast": {
            "type": "boolean"
          }
        }
      },
      "RowDirection": {
        "enum": [
          "Down",
          "Up"
        ]
      },
      "SaveWallRequest": {
        "required": [
          "panels"
        ],
        "type": "object",
        "properties": {
          "panels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PanelEdit"
            }
          }
        }
      },
      "SaveWallResult": {
        "required": [
          "wall",
          "warnings",
          "saved"
        ],
        "type": "object",
        "properties": {
          "wall": {
            "$ref": "#/components/schemas/ProcessingWall"
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationWarning"
            }
          },
          "saved": {
            "type": "boolean"
          }
        }
      },
      "SearchHit": {
        "type": "object",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/SearchResultKind"
          },
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": [
              "null",
              "string"
            ]
          },
          "path": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchLink"
            }
          }
        }
      },
      "SearchLink": {
        "required": [
          "label",
          "path"
        ],
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        }
      },
      "SearchResponse": {
        "required": [
          "query",
          "interpretations",
          "hits",
          "notices",
          "unavailableSources",
          "redirectPath"
        ],
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "interpretations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchHit"
            }
          },
          "notices": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "unavailableSources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "redirectPath": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SearchResultKind": {
        "enum": [
          "Order",
          "Wall",
          "Panel",
          "ShopOrder",
          "ShopOrderQueue",
          "Project",
          "MpmWall",
          "Page",
          "Action",
          "Report",
          "Status"
        ]
      },
      "SetCrateConfigurationRequest": {
        "required": [
          "configuration"
        ],
        "type": "object",
        "properties": {
          "configuration": {
            "$ref": "#/components/schemas/CrateConfigurationType"
          }
        }
      },
      "SetCrateRowsRequest": {
        "required": [
          "rows"
        ],
        "type": "object",
        "properties": {
          "rows": {
            "maximum": 10,
            "minimum": 1,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "SetSkidRowsRequest": {
        "required": [
          "rows"
        ],
        "type": "object",
        "properties": {
          "rows": {
            "maximum": 10,
            "minimum": 1,
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ShopOrderDemandBoard": {
        "required": [
          "items",
          "wallCount",
          "beingEnteredCount",
          "onHoldCount",
          "asOf"
        ],
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShopOrderDemandItem"
            }
          },
          "wallCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "beingEnteredCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "onHoldCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "asOf": {
            "type": "string",
            "format": "date-time"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ShopOrderDemandItem": {
        "required": [
          "orderNumber",
          "lineNumber",
          "panel",
          "statusId",
          "assignedTo"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panel": {
            "type": "string"
          },
          "statusId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "assignedTo": {
            "type": [
              "null",
              "string"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ShopOrderDemandStatus"
          }
        }
      },
      "ShopOrderDemandStatus": {
        "enum": [
          "Unknown",
          "Queued",
          "BeingEntered",
          "OnHold"
        ]
      },
      "ShopOrderFinish": {
        "required": [
          "shopOrder",
          "panelRightMaterial",
          "panelRightColor",
          "panelLeftMaterial",
          "panelLeftColor",
          "noseRightMaterial",
          "noseRightColor",
          "noseLeftMaterial",
          "noseLeftColor"
        ],
        "type": "object",
        "properties": {
          "shopOrder": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelRightMaterial": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelRightColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelLeftMaterial": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelLeftColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseRightMaterial": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseRightColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseLeftMaterial": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseLeftColor": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ShopOrderRevision": {
        "required": [
          "orderNumber",
          "lineNumber",
          "model",
          "requestedBy",
          "flaggedPanels",
          "message"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "model": {
            "type": "string"
          },
          "requestedBy": {
            "type": "string"
          },
          "flaggedPanels": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "message": {
            "type": "string"
          }
        }
      },
      "Skid": {
        "required": [
          "number",
          "panels",
          "isLastSkid",
          "isValid",
          "validationMessage"
        ],
        "type": "object",
        "properties": {
          "number": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SkidPanel"
            }
          },
          "isLastSkid": {
            "type": "boolean"
          },
          "isValid": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "validationMessage": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SkidDirection": {
        "enum": [
          "Right",
          "Left"
        ]
      },
      "SkidLayout": {
        "required": [
          "orderNumber",
          "productModel",
          "isLSkidOrder",
          "isGenerated",
          "isSinglePanelConstruction",
          "canBePrinted",
          "maxPanelsPerSkid",
          "skids",
          "rules"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "productModel": {
            "type": [
              "null",
              "string"
            ]
          },
          "isLSkidOrder": {
            "type": "boolean"
          },
          "isGenerated": {
            "type": "boolean"
          },
          "isSinglePanelConstruction": {
            "type": "boolean"
          },
          "canBePrinted": {
            "type": "boolean"
          },
          "maxPanelsPerSkid": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "skids": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Skid"
            }
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SkidValidationRule"
            }
          },
          "skidCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "invalidSkidCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "unvalidatedSkidCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "SkidPanel": {
        "required": [
          "id",
          "row",
          "opening",
          "panelNumber",
          "code",
          "panelType",
          "section",
          "totalWidth",
          "isDoor",
          "isValid",
          "validationMessage"
        ],
        "type": "object",
        "properties": {
          "id": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "row": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "opening": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "code": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelType": {
            "type": [
              "null",
              "string"
            ]
          },
          "section": {
            "type": [
              "null",
              "string"
            ]
          },
          "totalWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "isDoor": {
            "type": "boolean"
          },
          "isValid": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "validationMessage": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "SkidValidationRule": {
        "required": [
          "maxPanels",
          "panelType",
          "panelTotal",
          "remainderTotal"
        ],
        "type": "object",
        "properties": {
          "maxPanels": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "panelType": {
            "type": [
              "null",
              "string"
            ]
          },
          "panelTotal": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "remainderTotal": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ValidationWarning": {
        "required": [
          "rule",
          "severity",
          "panelId",
          "message"
        ],
        "type": "object",
        "properties": {
          "rule": {
            "type": "string"
          },
          "severity": {
            "$ref": "#/components/schemas/WarningSeverity"
          },
          "panelId": {
            "type": [
              "null",
              "string"
            ]
          },
          "message": {
            "type": "string"
          }
        }
      },
      "WallDerived": {
        "required": [
          "family",
          "processingModel",
          "isTcmFamily",
          "hasConcealedHinges",
          "glass",
          "skinComposition",
          "covering",
          "coveringColor",
          "noseCovering",
          "noseColor",
          "frameColor",
          "coveringAllowanceLeft",
          "coveringAllowanceRight",
          "coveringAllowance",
          "trimColorLabel"
        ],
        "type": "object",
        "properties": {
          "family": {
            "$ref": "#/components/schemas/WallFamily"
          },
          "processingModel": {
            "type": [
              "null",
              "string"
            ]
          },
          "isTcmFamily": {
            "type": "boolean"
          },
          "hasConcealedHinges": {
            "type": "boolean"
          },
          "glass": {
            "type": "string"
          },
          "skinComposition": {
            "type": [
              "null",
              "string"
            ]
          },
          "covering": {
            "type": [
              "null",
              "string"
            ]
          },
          "coveringColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseCovering": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "frameColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "coveringAllowanceLeft": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "coveringAllowanceRight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "coveringAllowance": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "trimColorLabel": {
            "type": "string"
          }
        }
      },
      "WallDetail": {
        "required": [
          "orderNumber",
          "lineNumber",
          "jobNumber",
          "jobName",
          "wallMark",
          "product",
          "model",
          "fabricationHeight",
          "installationWidth",
          "panelCount",
          "skinComposition",
          "stc",
          "covering",
          "coveringColor",
          "jambCovering",
          "jambCoveringColor",
          "noseCovering",
          "noseCoveringColor",
          "hingeColor",
          "trimColor",
          "bottomSeal",
          "track",
          "trackType",
          "orientation",
          "construction",
          "closure",
          "frameColor",
          "gripperPads",
          "safetyNose",
          "shims",
          "aff",
          "inspectionHeightA",
          "inspectionHeightB",
          "inspectionHeightJ",
          "inspectionHeightJ2",
          "actualOrder",
          "trolleyNote",
          "warning",
          "lastUpdated",
          "isArchived"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobName": {
            "type": [
              "null",
              "string"
            ]
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          },
          "fabricationHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "installationWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "panelCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "skinComposition": {
            "type": [
              "null",
              "string"
            ]
          },
          "stc": {
            "type": [
              "null",
              "string"
            ]
          },
          "covering": {
            "type": [
              "null",
              "string"
            ]
          },
          "coveringColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "jambCovering": {
            "type": [
              "null",
              "string"
            ]
          },
          "jambCoveringColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseCovering": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseCoveringColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "hingeColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "trimColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "bottomSeal": {
            "type": [
              "null",
              "string"
            ]
          },
          "track": {
            "type": [
              "null",
              "string"
            ]
          },
          "trackType": {
            "type": [
              "null",
              "string"
            ]
          },
          "orientation": {
            "type": [
              "null",
              "string"
            ]
          },
          "construction": {
            "type": [
              "null",
              "string"
            ]
          },
          "closure": {
            "type": [
              "null",
              "string"
            ]
          },
          "frameColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "gripperPads": {
            "type": [
              "null",
              "string"
            ]
          },
          "safetyNose": {
            "type": [
              "null",
              "string"
            ]
          },
          "shims": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "aff": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "inspectionHeightA": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "inspectionHeightB": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "inspectionHeightJ": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "inspectionHeightJ2": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "actualOrder": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "trolleyNote": {
            "type": [
              "null",
              "string"
            ]
          },
          "warning": {
            "type": [
              "null",
              "string"
            ]
          },
          "lastUpdated": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "isArchived": {
            "type": "boolean"
          }
        }
      },
      "WallDrawingFile": {
        "required": [
          "name",
          "length",
          "lastModified"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "length": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "lastModified": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "kind": {
            "$ref": "#/components/schemas/WallDrawingKind"
          },
          "displayName": {
            "type": [
              "null",
              "string"
            ]
          },
          "sortRank": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "WallDrawingKind": {
        "enum": [
          "Image",
          "Pdf"
        ]
      },
      "WallDrawings": {
        "required": [
          "orderNumber",
          "lineNumber",
          "wall",
          "folder",
          "images",
          "pdfs"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "wall": {
            "$ref": "#/components/schemas/MpmWall"
          },
          "folder": {
            "type": "string"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WallDrawingFile"
            }
          },
          "pdfs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WallDrawingFile"
            }
          },
          "hasDrawings": {
            "type": "boolean"
          },
          "previewPdf": {
            "$ref": "#/components/schemas/WallDrawingFile"
          }
        }
      },
      "WallFamily": {
        "enum": [
          "Classic",
          "Encore",
          "Premier",
          "Legacy",
          "Moveo",
          "AcoustiClear",
          "GlassWall",
          "Track",
          "Weldment"
        ]
      },
      "WallLookups": {
        "required": [
          "panelNumbers",
          "passDoorTypes",
          "workSurfaceTypesLeft",
          "workSurfaceTypesRight",
          "eraserHoldersLeft",
          "eraserHoldersRight",
          "coveringMaterials",
          "coveringColors"
        ],
        "type": "object",
        "properties": {
          "panelNumbers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "passDoorTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "workSurfaceTypesLeft": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LookupOption"
            }
          },
          "workSurfaceTypesRight": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LookupOption"
            }
          },
          "eraserHoldersLeft": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LookupOption"
            }
          },
          "eraserHoldersRight": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LookupOption"
            }
          },
          "coveringMaterials": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/LookupOption"
              }
            }
          },
          "coveringColors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LookupOption"
            }
          }
        }
      },
      "WallParameters": {
        "required": [
          "orderNumber",
          "lineNumber",
          "jobNumber",
          "jobName",
          "wallMark",
          "product",
          "model",
          "closure",
          "fabricationHeight",
          "installationWidth",
          "panelCount",
          "skinCompositionRight",
          "skinCompositionLeft",
          "stc",
          "coveringRight",
          "coveringLeft",
          "noseCoveringRight",
          "noseCoveringLeft",
          "coveringColorRight",
          "coveringColorLeft",
          "noseColorRight",
          "noseColorLeft",
          "hingeColor",
          "trimColor",
          "bottomSeal",
          "track",
          "trackType",
          "orientation",
          "construction",
          "aff",
          "vinylClad",
          "trailJamb",
          "leadJamb",
          "expandableStyle",
          "wallHanding",
          "steelSkinGage",
          "frameColor",
          "ralColor",
          "gripperPads",
          "safetyNose"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobName": {
            "type": [
              "null",
              "string"
            ]
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          },
          "closure": {
            "type": [
              "null",
              "string"
            ]
          },
          "fabricationHeight": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "installationWidth": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "panelCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "skinCompositionRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "skinCompositionLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "stc": {
            "type": [
              "null",
              "string"
            ]
          },
          "coveringRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "coveringLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseCoveringRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseCoveringLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "coveringColorRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "coveringColorLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseColorRight": {
            "type": [
              "null",
              "string"
            ]
          },
          "noseColorLeft": {
            "type": [
              "null",
              "string"
            ]
          },
          "hingeColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "trimColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "bottomSeal": {
            "type": [
              "null",
              "string"
            ]
          },
          "track": {
            "type": [
              "null",
              "string"
            ]
          },
          "trackType": {
            "type": [
              "null",
              "string"
            ]
          },
          "orientation": {
            "type": [
              "null",
              "string"
            ]
          },
          "construction": {
            "type": [
              "null",
              "string"
            ]
          },
          "aff": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "vinylClad": {
            "type": [
              "null",
              "string"
            ]
          },
          "trailJamb": {
            "type": [
              "null",
              "string"
            ]
          },
          "leadJamb": {
            "type": [
              "null",
              "string"
            ]
          },
          "expandableStyle": {
            "type": [
              "null",
              "string"
            ]
          },
          "wallHanding": {
            "type": [
              "null",
              "string"
            ]
          },
          "steelSkinGage": {
            "type": [
              "null",
              "string"
            ]
          },
          "frameColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "ralColor": {
            "type": [
              "null",
              "string"
            ]
          },
          "gripperPads": {
            "type": [
              "null",
              "string"
            ]
          },
          "safetyNose": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "WallWarrantyHistory": {
        "required": [
          "orderNumber",
          "lineNumber",
          "product",
          "model",
          "matchedModels",
          "matchedTypes",
          "since",
          "until",
          "problems",
          "reports",
          "otherTypeCount"
        ],
        "type": "object",
        "properties": {
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "lineNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "product": {
            "type": [
              "null",
              "string"
            ]
          },
          "model": {
            "type": [
              "null",
              "string"
            ]
          },
          "matchedModels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarrantyModel"
            }
          },
          "matchedTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "since": {
            "type": "string",
            "format": "date-time"
          },
          "until": {
            "type": "string",
            "format": "date-time"
          },
          "problems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarrantyProblemGroup"
            }
          },
          "reports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarrantyReport"
            }
          },
          "otherTypeCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "hasModel": {
            "type": "boolean"
          },
          "qualityCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "warrantyCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "thisJobCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "plantActionableCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "modelNames": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "WarningSeverity": {
        "enum": [
          "Warning",
          "Critical"
        ]
      },
      "WarrantyModel": {
        "required": [
          "modelId",
          "modelCode",
          "modelName",
          "productFamily",
          "productLine",
          "productModel"
        ],
        "type": "object",
        "properties": {
          "modelId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "modelCode": {
            "type": "string"
          },
          "modelName": {
            "type": "string"
          },
          "productFamily": {
            "type": [
              "null",
              "string"
            ]
          },
          "productLine": {
            "type": [
              "null",
              "string"
            ]
          },
          "productModel": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "WarrantyNote": {
        "required": [
          "event",
          "date",
          "text",
          "userId"
        ],
        "type": "object",
        "properties": {
          "event": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "text": {
            "type": "string"
          },
          "userId": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "WarrantyProblemGroup": {
        "required": [
          "area",
          "rootCause",
          "plantActionable",
          "reportCount",
          "jobCount",
          "latest",
          "reports"
        ],
        "type": "object",
        "properties": {
          "area": {
            "type": "string"
          },
          "rootCause": {
            "type": [
              "null",
              "string"
            ]
          },
          "plantActionable": {
            "type": "boolean"
          },
          "reportCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "jobCount": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "latest": {
            "type": "string",
            "format": "date-time"
          },
          "reports": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarrantyReport"
            }
          }
        }
      },
      "WarrantyReport": {
        "required": [
          "requestId",
          "dateFiled",
          "kind",
          "status",
          "distributorName",
          "jobNumber",
          "jobName",
          "orderNumber",
          "wallMark",
          "modelId",
          "modelCode",
          "modelName",
          "area",
          "type",
          "rootCause",
          "rootCauseDetail",
          "problem",
          "actionRequested",
          "resolution",
          "countermeasure",
          "countermeasureDate",
          "approved",
          "factoryOrderId",
          "isThisOrder",
          "isThisJob",
          "notes"
        ],
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string"
          },
          "dateFiled": {
            "type": "string",
            "format": "date-time"
          },
          "kind": {
            "$ref": "#/components/schemas/WarrantyReportKind"
          },
          "status": {
            "type": "string"
          },
          "distributorName": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "jobName": {
            "type": [
              "null",
              "string"
            ]
          },
          "orderNumber": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "wallMark": {
            "type": [
              "null",
              "string"
            ]
          },
          "modelId": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "modelCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "modelName": {
            "type": [
              "null",
              "string"
            ]
          },
          "area": {
            "type": [
              "null",
              "string"
            ]
          },
          "type": {
            "type": [
              "null",
              "string"
            ]
          },
          "rootCause": {
            "type": [
              "null",
              "string"
            ]
          },
          "rootCauseDetail": {
            "type": [
              "null",
              "string"
            ]
          },
          "problem": {
            "type": [
              "null",
              "string"
            ]
          },
          "actionRequested": {
            "type": [
              "null",
              "string"
            ]
          },
          "resolution": {
            "type": [
              "null",
              "string"
            ]
          },
          "countermeasure": {
            "type": [
              "null",
              "string"
            ]
          },
          "countermeasureDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "approved": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "factoryOrderId": {
            "type": [
              "null",
              "string"
            ]
          },
          "isThisOrder": {
            "type": "boolean"
          },
          "isThisJob": {
            "type": "boolean"
          },
          "notes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarrantyNote"
            }
          }
        }
      },
      "WarrantyReportKind": {
        "enum": [
          "Unknown",
          "Quality",
          "Warranty"
        ]
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "description": "Auth0 Authorization Code flow with PKCE. Send audience=https://mfp2026-api on the authorization request.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://dealer-portals.us.auth0.com/authorize",
            "tokenUrl": "https://dealer-portals.us.auth0.com/oauth/token",
            "scopes": {
              "openid": "OpenID Connect sign-in"
            }
          }
        }
      },
      "Bearer": {
        "type": "http",
        "description": "An Auth0 access token for the API audience. Access is role-based (MFP2026-Processor or MFP2026-Admin, from the roles claim), so the token needs to come from an interactive user sign-in; a machine-to-machine client_credentials token carries no role and is always rejected.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "tags": [
    {
      "name": "Health"
    },
    {
      "name": "Warranty"
    },
    {
      "name": "Panels"
    },
    {
      "name": "Drawings"
    },
    {
      "name": "Shop orders"
    },
    {
      "name": "Crating"
    },
    {
      "name": "Skids"
    },
    {
      "name": "Processing"
    },
    {
      "name": "Reports"
    },
    {
      "name": "Search"
    }
  ]
}