openapi: 3.0.1
info:
  title: OSim API
  description: OSim API for requesting and receiving simulation results as well as for interactions related to scenario management.
  version: 2.0.0
servers:
  - url: https://{server-url}
tags:
  - name: requestLatestSimulationResult
    description: Request Latest Simulation Result
  - name: receiveLatestSimulationResult
    description: Receive Latest Simulation Result
  - name: requestScenarioFeedback
    description: Request Scenario Feedback
  - name: receiveScenarioFeedback
    description: Receive Scenario Feedback
paths:
  /api/requestLatestSimulationResult/bpns/{bpns}/requestId/{requestId}/simulationRunId/{simulationRunId}:
    get:
      tags:
        - requestLatestSimulationResult
      operationId: requestLatestSimulationResult
      description: Request latest simulation result by referring the latest simulation run id available in own OSim Manager
      parameters:
        - name: requestId
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 8d628899-3e6f-4666-91c3-74ee7ab88b2b
        - name: bpns
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: BPNS00000007OTZ3
        - name: simulationRunId
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 50737df3-4237-4652-b092-1ef8649f6ca6
      responses:
        '200':
          description: OK
          content:
            text:
              schema:
                type: string
                example: The request has succeeded. The requestLatestSimulationResult has been successfully processed in the backend system.
        '400':
          description: Bad request
          content:
            text:
              schema:
                type: string
                example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
        '401':
          description: Unauthorized
          content:
            text:
              schema:
                type: string
                example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
        '402':
          description: Unknown BPNS
          content:
            text:
              schema:
                type: string
                example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner.
        '403':
          description: Forbidden
          content:
            text:
              schema:
                type: string
                example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource.
        '404':
          description: No simulation results are released
          content:
            text:
              schema:
                type: string
                example: Data provider doesn’t have any released simulation results
        '405':
          description: Method not allowed
          content:
            text:
              schema:
                type: string
                example: The method used to request the data was not GET
        '406':
          description: No newer simulation available
          content:
            text:
              schema:
                type: string
                example: The simulationRunId which is given as parameter is identical to the currently released simulation run in the data provider database
        '407':
          description: No shipments planned
          content:
            text:
              schema:
                type: string
                example: No shipments are currently planned for the requestor
        '500':
          description: Internal server error
          content:
            text:
              schema:
                type: string
                example: The server has encountered a situation it does not know how to handle.
        '501':
          description: Service unavailable
          content:
            text:
              schema:
                type: string
                example: The server is not ready to handle the request.
      servers:
        - url: https://{server-url}
    servers:
      - url: https://{server-url}
  /api/receiveLatestSimulationResult/requestId/{requestId}:
    post:
      tags:
        - receiveLatestSimulationResult
      description: Receive latest simulation result which can be stored in own OSim Manager instance
      operationId: receiveLatestSimulationResult
      parameters:
        - name: requestId
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 8d628899-3e6f-4666-91c3-74ee7ab88b2b
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/requestId_requestId_body'
            examples:
              '0':
                value: |-
                  { 
                    "owner": { "id": "BPNS00000007OTZ3" }, 
                    "dataQuality": 1, 
                    "description": "Daily standard simulation", 
                    "comment": "successful simulation", 
                    "expirationTimestamp": "2023-03-24T09:15:24.000Z", 
                    "runId": "0fece48b-c8d1-4180-1a9caca6d67e", 
                    "shipments": [ 
                      { 
                        "handlingUnits": [ 
                         { 
                            "name": "Palette", 
                            "volume": 1, 
                            "weight": 189, 
                            "batches": [ 
                              { 
                                "unitOfMeasurement": "KG", 
                                "materialName": "KK1000GR-Gehäuse-Rot", 
                                "quantity": 50, 
                                "materialNumber": "KK1000GR", 
                                "batchOrderId": "Order-0001", 
                                "batchId": "Batch_1", 
                                "hazardousGoods": false, 
                                "batchExpirationTimestamp": "2023-08-22T16:00:00.000Z", 
                                "batchNumber": "45" 
                              } 
                            ], 
                            "handlingUnitId": "HUT_1", 
                            "amount": 1 
                          } 
                        ], 
                        "shipmentId": "DE51515151", 
                        "recipientTimestampPlanned": "2023-04-19T09:00:00.000Z", 
                        "destination": { "id": "BPNS00000007OTZ3" }, 
                        "recipient": { "id": "BPNS00000007OTZ4" }, 
                        "logistics": { "id": "BPNS00000007OS0H" }, 
                        "preceding": {}, 
                        "splittingAllowed": true, 
                        "destinationTimestamp": "2023-03-19T09:00:00.000Z" 
                      } 
                    ], 
                    "timestamp": "2023-03-09T14:13:42.806Z" 
                  }
      responses:
        '200':
          description: OK
          content:
            text:
              schema:
                type: string
                example: The POST has succeeded. The receiveLatestSimulationResult has been successfully processed in the backend system.
        '400':
          description: Bad request
          content:
            text:
              schema:
                type: string
                example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
        '401':
          description: Unauthorized
          content:
            text:
              schema:
                type: string
                example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
        '402':
          description: Payload is empty
          content:
            text:
              schema:
                type: string
                example: The payload of the API call is empty.
        '403':
          description: Forbidden
          content:
            text:
              schema:
                type: string
                example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource.
        '404':
          description: Payload structure unknown
          content:
            text:
              schema:
                type: string
                example: The payload structure is unknown or correspond not to the defined semantic model
        '405':
          description: Method not allowed
          content:
            text:
              schema:
                type: string
                example: The method used to receive the data was not POST
        '406':
          description: Payload content invalid
          content:
            text:
              schema:
                type: string
                example: The content of the payload is invalid. E.g. “owner unknown”
        '500':
          description: Internal server error
          content:
            text:
              schema:
                type: string
                example: The server has encountered a situation it does not know how to handle.
        '501':
          description: Service unavailable
          content:
            text:
              schema:
                type: string
                example: The server is not ready to handle the request.
      servers:
        - url: https://{server-url}
    servers:
      - url: https://{server-url}
  /api/requestScenarioFeedback/bpns/{bpns}:
    post:
      tags:
        - requestScenarioFeedback
      operationId: requestScenarioFeedback
      description: The requestScenarioFeedback is a request from a OSim partner for feedback on the possible fulfillment of the described scenario.
      parameters:
        - name: bpns
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: BPNS00000007OTZ3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/bpns_bpns_body'
            examples:
              '0':
                value: |-
                  {
                    "materialFlowScenarioRequest" : {
                      "scenarioSimResults" : {
                        "resultOwnId" : "916b5688-8bd8-4d7e-83b9-e0d40939274e",
                        "resultOwnSimRunInitial" : {
                          "owner" : { },
                          "dataQuality" : 0,
                          "description" : "Please simulate asap",
                          "comment" : "successful simulation ",
                          "expirationTimestamp" : "2023-03-24T09:15:24.000Z",
                          "runId" : "0fece48b-c8d1-4180-1a9caca6d67e",
                          "shipments" : [ {
                            "handlingUnits" : [ {
                              "name" : "Palette",
                              "volume" : 1.0,
                              "weight" : 189.0,
                              "batches" : [ {
                                "unitOfMeasurement" : "KG",
                                "materialName" : "KK1000GR-Gehäuse-Rot",
                                "quantity" : 50.0,
                                "materialNumber" : "KK1000GR",
                                "materialHazardousGoods" : false,
                                "batchOrderId" : "Order-0001",
                                "batchId" : "Batch_1",
                                "batchExpirationTimestamp" : "2023-08-22T16:00:00.000Z",
                                "batchNumber" : "45"
                              } ],
                              "handlingUnitId" : "HUT_1",
                              "amount" : 1
                            } ],
                            "shipmentId" : "DE51515151",
                            "recipientTimestampPlanned" : "2023-04-19T09:00:00.000Z",
                            "destination" : { },
                            "recipient" : { },
                            "logistics" : { },
                            "preceding" : { },
                            "splittingAllowed" : true,
                            "destinationTimestamp" : "2023-03-19T09:00:00.000Z"
                          } ],
                          "timestamp" : "2023-03-09T14:13:42.806Z"
                        },
                        "resultOwnSimRunUpdated" : {
                          "owner" : { },
                          "dataQuality" : 0,
                          "description" : "Please simulate asap",
                          "comment" : "successful simulation ",
                          "expirationTimestamp" : "2023-03-24T09:15:24.000Z",
                          "runId" : "0fece48b-c8d1-4180-1a9caca6d67e",
                          "shipments" : [ {
                            "handlingUnits" : [ {
                              "name" : "Palette",
                              "volume" : 1.0,
                              "weight" : 189.0,
                              "batches" : [ {
                                "unitOfMeasurement" : "KG",
                                "materialName" : "KK1000GR-Gehäuse-Rot",
                                "quantity" : 50.0,
                                "materialNumber" : "KK1000GR",
                                "materialHazardousGoods" : false,
                                "batchOrderId" : "Order-0001",
                                "batchId" : "Batch_1",
                                "batchExpirationTimestamp" : "2023-08-22T16:00:00.000Z",
                                "batchNumber" : "45"
                              } ],
                              "handlingUnitId" : "HUT_1",
                              "amount" : 1
                            } ],
                            "shipmentId" : "DE51515151",
                            "recipientTimestampPlanned" : "2023-04-19T09:00:00.000Z",
                            "destination" : { },
                            "recipient" : { },
                            "logistics" : { },
                            "preceding" : { },
                            "splittingAllowed" : true,
                            "destinationTimestamp" : "2023-03-19T09:00:00.000Z"
                          } ],
                          "timestamp" : "2023-03-09T14:13:42.806Z"
                        }
                      },
                      "scenarioParameter" : {
                        "unitOfMeasurement" : "KG",
                        "parameterScenario" : "8d464b8b-6977-4952-8a22-0489067ca081",
                        "parameterComment" : "updated Delivery Date",
                        "materialName" : "KK1000GR-Gehäuse-Rot",
                        "parameterQuantityUpdated" : 1.0,
                        "parameterId" : "847c71e5-614a-468b-a3a0-674bf2af3004",
                        "materialNumber" : "KK1000GR",
                        "parameterDeliveryDateUpdated" : "2023-10-10T09:00:00.000Z",
                        "parameterDeliveryDateInitial" : "2023-10-09T10:00:00.000Z",
                        "parameterOrderId" : "OID-011123456",
                        "parameterQuantityInitial" : 1.0
                      },
                      "scenarioHeader" : {
                        "scenarioOwnerRole" : "Customer",
                        "scenarioCreationTimestamp" : "2023-10-04T09:10:00.000Z",
                        "scenarioExpirationTimestamp" : "2023-10-07T09:10:00.000Z",
                        "scenarioOwner" : "BPNS0000007OTZ3",
                        "scenarioDescription" : "Changes in Delivery Date",
                        "scenarioId" : "8d464b8b-6977-4952-8a22-0489067ca081",
                        "scenarioTitle" : "Delivery Modification"
                      }
                    }
                  }
      responses:
        '200':
          description: OK
          content:
            text:
              schema:
                type: string
                example: The request has succeeded. The requestScenarioFeedback has been successfully processed in the backend system.
        '400':
          description: Bad request
          content:
            text:
              schema:
                type: string
                example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
        '401':
          description: Unauthorized
          content:
            text:
              schema:
                type: string
                example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
        '402':
          description: Unknown BPNS
          content:
            text:
              schema:
                type: string
                example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner.
        '403':
          description: Forbidden
          content:
            text:
              schema:
                type: string
                example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource.
        '405':
          description: Method not allowed
          content:
            text:
              schema:
                type: string
                example: The method used to request a scenario feedback was not POST
        '500':
          description: Internal server error
          content:
            text:
              schema:
                type: string
                example: The server has encountered a situation it does not know how to handle.
        '501':
          description: Service unavailable
          content:
            text:
              schema:
                type: string
                example: The server is not ready to handle the request.
      servers:
        - url: https://{server-url}
    servers:
      - url: https://{server-url}
  /api/receiveScenarioFeedback/bpns/{bpns}/scenarioId/{scenarioId}/feedback/{feedback}:
    get:
      tags:
        - receiveScenarioFeedback
      operationId: receiveScenarioFeedback
      description: The receiveScenarioFeedback enables the requestor to transmit the result of his scenario-based evaluation to the requestor
      parameters:
        - name: bpns
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: BPNS00000007OTZ3
        - name: scenarioId
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 50737df3-4237-4652-b092-1ef8649f6ca6
        - name: feedback
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
            enum:
              - Realizable
              - NotRealizable
          example: Realizable
      responses:
        '200':
          description: OK
          content:
            text:
              schema:
                type: string
                example: The GET request has succeeded. The receiveScenarioFeedback has been successfully processed in the backend system.
        '400':
          description: Bad request
          content:
            text:
              schema:
                type: string
                example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
        '401':
          description: Unauthorized
          content:
            text:
              schema:
                type: string
                example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
        '402':
          description: Unknown BPNS
          content:
            text:
              schema:
                type: string
                example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner.
        '403':
          description: Forbidden
          content:
            text:
              schema:
                type: string
                example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource.
        '405':
          description: Method not allowed
          content:
            text:
              schema:
                type: string
                example: The method used to request a scenario feedback was not GET
        '406':
          description: Unknown Scenario
          content:
            text:
              schema:
                type: string
                example: The scenarioID which is given as parameter is not registered.
        '407':
          description: Unknown State
          content:
            text:
              schema:
                type: string
                example: The feedbackState value is unknown.
        '500':
          description: Internal server error
          content:
            text:
              schema:
                type: string
                example: The server has encountered a situation it does not know how to handle.
        '501':
          description: Service unavailable
          content:
            text:
              schema:
                type: string
                example: The server is not ready to handle the request.
      servers:
        - url: https://{server-url}
    servers:
      - url: https://{server-url}
  /api/pushScenarioState/bpns/{bpns}/scenarioId/{scenarioId}/state/{state}:
    get:
      tags:
        - pushScenarioState
      operationId: pushScenarioState
      description: The pushScenarioState enables distribution of a new scenario status and thus a notification of the procedure with the planned scenario
      parameters:
        - name: bpns
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: BPNS00000007OTZ3
        - name: scenarioId
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: 50737df3-4237-4652-b092-1ef8649f6ca6
        - name: state
          in: path
          required: true
          style: simple
          explode: false
          schema:
            type: string
            enum:
              - InRealization
              - Processed
              - Canceled
          example: InRealization
      responses:
        '200':
          description: OK
          content:
            text:
              schema:
                type: string
                example: The GET has succeeded. The pushScenarioState has been successfully processed in the backend system.
        '400':
          description: Bad request
          content:
            text:
              schema:
                type: string
                example: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
        '401':
          description: Unauthorized
          content:
            text:
              schema:
                type: string
                example: Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.
        '402':
          description: Unknown BPNS
          content:
            text:
              schema:
                type: string
                example: The BPNS which is given as parameter is not registered in the data provider database as a direct partner.
        '403':
          description: Forbidden
          content:
            text:
              schema:
                type: string
                example: The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource.
        '405':
          description: Method not allowed
          content:
            text:
              schema:
                type: string
                example: The method used to request a scenario feedback was not GET
        '406':
          description: Unknown Scenario
          content:
            text:
              schema:
                type: string
                example: The scenarioID which is given as parameter is not registered.
        '407':
          description: Unknown State
          content:
            text:
              schema:
                type: string
                example: The scenarioState value is unknown.
        '500':
          description: Internal server error
          content:
            text:
              schema:
                type: string
                example: The server has encountered a situation it does not know how to handle.
        '501':
          description: Service unavailable
          content:
            text:
              schema:
                type: string
                example: The server is not ready to handle the request.
      servers:
        - url: https://{server-url}
    servers:
      - url: https://{server-url}
components:
  schemas:
    apireceiveLatestSimulationResultrequestIdrequestId_owner:
      type: object
      properties:
        id:
          type: string
    apireceiveLatestSimulationResultrequestIdrequestId_batches:
      type: object
      properties:
        unitOfMeasurement:
          type: string
        materialName:
          type: string
        quantity:
          type: integer
        materialNumber:
          type: string
        batchOrderId:
          type: string
        batchId:
          type: string
        hazardousGoods:
          type: boolean
        batchExpirationTimestamp:
          type: string
        batchNumber:
          type: string
    apireceiveLatestSimulationResultrequestIdrequestId_handlingUnits:
      type: object
      properties:
        volume:
          type: integer
        batches:
          type: array
          items:
            $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_batches'
        handlingUnitId:
          type: string
        amount:
          type: integer
        name:
          type: string
        weight:
          type: integer
    apireceiveLatestSimulationResultrequestIdrequestId_shipments:
      type: object
      properties:
        handlingUnits:
          type: array
          items:
            $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_handlingUnits'
        shipmentId:
          type: string
        recipientTimestampPlanned:
          type: string
        destination:
          $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner'
        recipient:
          $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner'
        logistics:
          $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner'
        preceding:
          type: object
          properties: {}
        splittingAllowed:
          type: boolean
        destinationTimestamp:
          type: string
    requestId_requestId_body:
      type: object
      properties:
        owner:
          $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_owner'
        dataQuality:
          type: integer
        description:
          type: string
        comment:
          type: string
        expirationTimestamp:
          type: string
        runId:
          type: string
        shipments:
          type: array
          items:
            $ref: '#/components/schemas/apireceiveLatestSimulationResultrequestIdrequestId_shipments'
        timestamp:
          type: string
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_batches:
      required:
        - batchExpirationTimestamp
        - batchId
        - batchNumber
        - batchOrderId
        - materialHazardousGoods
        - materialName
        - materialNumber
        - quantity
        - unitOfMeasurement
      type: object
      properties:
        unitOfMeasurement:
          type: string
        materialName:
          type: string
        quantity:
          type: number
        materialNumber:
          type: string
        materialHazardousGoods:
          type: boolean
        batchOrderId:
          type: string
        batchId:
          type: string
        batchExpirationTimestamp:
          type: string
        batchNumber:
          type: string
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_handlingUnits:
      required:
        - amount
        - batches
        - handlingUnitId
        - name
        - volume
        - weight
      type: object
      properties:
        name:
          type: string
        volume:
          type: number
        weight:
          type: number
        batches:
          type: array
          items:
            $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_batches'
        handlingUnitId:
          type: string
        amount:
          type: integer
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_shipments:
      required:
        - destination
        - destinationTimestamp
        - handlingUnits
        - logistics
        - preceding
        - recipient
        - recipientTimestampPlanned
        - shipmentId
        - splittingAllowed
      type: object
      properties:
        handlingUnits:
          type: array
          items:
            $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_handlingUnits'
        shipmentId:
          type: string
        recipientTimestampPlanned:
          type: string
        destination:
          type: object
        recipient:
          type: object
        logistics:
          type: object
        preceding:
          type: object
        splittingAllowed:
          type: boolean
        destinationTimestamp:
          type: string
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial:
      required:
        - comment
        - dataQuality
        - description
        - expirationTimestamp
        - owner
        - runId
        - shipments
        - timestamp
      type: object
      properties:
        owner:
          type: object
        dataQuality:
          type: integer
        description:
          type: string
        comment:
          type: string
        expirationTimestamp:
          type: string
        runId:
          type: string
        shipments:
          type: array
          items:
            $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial_shipments'
        timestamp:
          type: string
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults:
      required:
        - resultOwnId
        - resultOwnSimRunInitial
        - resultOwnSimRunUpdated
      type: object
      properties:
        resultOwnId:
          type: string
        resultOwnSimRunInitial:
          $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial'
        resultOwnSimRunUpdated:
          $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults_resultOwnSimRunInitial'
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioParameter:
      required:
        - materialName
        - materialNumber
        - parameterComment
        - parameterDeliveryDateInitial
        - parameterDeliveryDateUpdated
        - parameterId
        - parameterOrderId
        - parameterQuantityInitial
        - parameterQuantityUpdated
        - parameterScenario
        - unitOfMeasurement
      type: object
      properties:
        unitOfMeasurement:
          type: string
        parameterScenario:
          type: string
        parameterComment:
          type: string
        materialName:
          type: string
        parameterQuantityUpdated:
          type: number
        parameterId:
          type: string
        materialNumber:
          type: string
        parameterDeliveryDateUpdated:
          type: string
        parameterDeliveryDateInitial:
          type: string
        parameterOrderId:
          type: string
        parameterQuantityInitial:
          type: number
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioHeader:
      required:
        - scenarioCreationTimestamp
        - scenarioDescription
        - scenarioExpirationTimestamp
        - scenarioId
        - scenarioOwner
        - scenarioOwnerRole
        - scenarioTitle
      type: object
      properties:
        scenarioOwnerRole:
          type: string
        scenarioCreationTimestamp:
          type: string
        scenarioExpirationTimestamp:
          type: string
        scenarioOwner:
          type: string
        scenarioDescription:
          type: string
        scenarioId:
          type: string
        scenarioTitle:
          type: string
    apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest:
      required:
        - scenarioHeader
        - scenarioParameter
        - scenarioSimResults
      type: object
      properties:
        scenarioSimResults:
          $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioSimResults'
        scenarioParameter:
          $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioParameter'
        scenarioHeader:
          $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest_scenarioHeader'
    bpns_bpns_body:
      required:
        - materialFlowScenarioRequest
      type: object
      properties:
        materialFlowScenarioRequest:
          $ref: '#/components/schemas/apirequestScenarioFeedbackbpnsbpns_materialFlowScenarioRequest'
