diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability.api.mdx b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability.api.mdx new file mode 100644 index 00000000000..d31adfd4f5b --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability.api.mdx @@ -0,0 +1,158 @@ +--- +id: get-manufacturing-capability +title: "getManufacturingCapability" +description: "getManufacturingCapability" +sidebar_label: "getManufacturingCapability" +hide_title: true +hide_table_of_contents: true +api: {"tags":["ManufacturingCapability"],"operationId":"getManufacturingCapability","parameters":[{"name":"api-endpoint","in":"path","description":"The API endpoint to get manufacturing capabilities of a manufacturer.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"content":{"application/json":{"schema":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"getManufacturingCapability","method":"get","path":"/{api-endpoint}/ManufacturingCapability","servers":[{"url":"https://example.com/api/v3","variables":{"api-version":{"default":"v3"}}}],"info":{"description":"The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details.","title":"Manufacturing Capability Aspect Model","version":"v3.1.0"},"postman":{"name":"get Manufacturing Capability","description":{"type":"text/plain"},"url":{"path":[":api-endpoint","ManufacturingCapability"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The API endpoint to get manufacturing capabilities of a manufacturer.","type":"text/plain"},"type":"any","value":"","key":"api-endpoint"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"GET"}} +sidebar_class_name: "get api-method" +info_path: docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## getManufacturingCapability + + + +getManufacturingCapability + +
Path Parameters
+ +The request was successful. + +
Schema
    processes object[]
    + +Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources. + +
    machines object[]
    + +A set of machines used for production. + +
    provides object[]
    + +Set of capabilities the machine can provide. + +
    capabilityConstraintSet object[]
    + +Set of conditions imposed on capabilities which further detail their applicability. + +
    capabilityConstraintProperties object[]
    + +Set of constraints restricting the capability. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    refersToMaterial object
    + +Template for elements needing a label and containing properties. + +
    properties object[]
    + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    containsTools object[]
    + +Set of machine tools the machine can be equipped with. + +
    canProcessMaterials object[]
    + +Set of materials the machine tool can utilize. + +
    belongsToMaterialFamilies object[]
    + +A material belongs to certain material families. + +
    products object[]
    + +Set of physical objects being used as an input or created as an output of a production process. + +
    capabilities object[]
    + +Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world. + +
    capabilityConstraintSet object[]
    + +Set of conditions imposed on capabilities which further detail their applicability. + +
    capabilityConstraintProperties object[]
    + +Set of constraints restricting the capability. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    refersToMaterial object
    + +Template for elements needing a label and containing properties. + +
    properties object[]
    + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    machineTools object[]
    + +A set of machine tools. + +
    canProcessMaterials object[]
    + +Set of materials the machine tool can utilize. + +
    belongsToMaterialFamilies object[]
    + +A material belongs to certain material families. + +
    certificates object[]
    + +Set of certificates. + +
+ +Payload or user input is invalid. See error details in the payload for more. + +
Schema
    error object
    details object
    + +**Possible values:** `non-empty` + +
  • property name* object
+ +The requesting user or client is not authenticated. + +
+ +The requesting user or client is not authorized to access resources for the given tenant. + +
+ +The requested Twin has not been found. + +
+ \ No newline at end of file diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model.info.mdx b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model.info.mdx new file mode 100644 index 00000000000..1708f7bcaca --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model.info.mdx @@ -0,0 +1,25 @@ +--- +id: manufacturing-capability-aspect-model +title: "Manufacturing Capability Aspect Model" +description: "The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details." +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: v3.1.0 + +# Manufacturing Capability Aspect Model + + + +The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details. + + + \ No newline at end of file diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/page_software-development-view.md b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/page_software-development-view.md new file mode 100644 index 00000000000..4ab2e867859 --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/page_software-development-view.md @@ -0,0 +1,415 @@ +--- +id: API Description Manufacturing as a Service Kit +title: API Description +description: 'Manufacturing as a Service Kit' +sidebar_position: 4 +--- + +MaaS scenarios focus on connecting buyers and manufacturers. Buyers have a demand for products, which are produced by manufacturers with the required production capabilities. The Manufacturing Capability API defines how to share the manufacturing capabilities, e.g. to onboard them to a Manufacturing Network Registry. Manufacturing Network Platforms and MaaS Manufacturer Application can use the Manufacturing Capability API to onboard their manufacturing capabilities in the Manufacturing Network Registry (see figure). + +![Reference Architecture Manufacturing Capability](res/RefArcMC.JPG) + +The Manufacturing Capability API description below shows how the Manufacturing Capability Aspect Model could be used. The aspect model is designed to represent manufacturing capabilities based on the concepts of products, processes, resources and capabilities and their relations to each other. + +Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. Below are two sample request options: + +- GET: /{api-endpoint}/ManufacturingCapability + - Description: The API endpoint to get manufacturing capabilities of a manufacturer. +- POST: /{api-endpoint}/ManufacturingCapability + - Description: The API endpoint to register manufacturing capabilities of a manufacturer. + +## Sample Data + +```json +{ + "machineTools": [ + { + "canProcessMaterials": [ + { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ] + } + ], + "processes": [ + { + "billOfProcessIdentification": "www.1234-bar-chair-billOfProcess.de" + } + ], + "machines": [ + { + "containsTools": [ + { + "canProcessMaterials": [ + { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ] + } + ], + "label": { + "und": "aluminum" + }, + "provides": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "capabilityConstraintSet": [ + { + "capabilityConstraintProperties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "refersToMaterial": { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "label": { + "und": "aluminum" + }, + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "@type": "MaterialEntity" + } + } + ], + "capabilityId": "urn:manufacturing-capability:capability:42", + "capabilityLabel": { + "und": "sawing" + }, + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "capabilities": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "capabilityConstraintSet": [ + { + "capabilityConstraintProperties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "refersToMaterial": { + "belongsToMaterialFamilies": [ + { + "specializes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "label": { + "und": "aluminum" + }, + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "@type": "MaterialEntity" + } + } + ], + "capabilityId": "urn:manufacturing-capability:capability:42", + "capabilityLabel": { + "und": "sawing" + }, + "label": { + "und": "aluminum" + }, + "generalizes": [ + { + "hierarchyElementId": "urn:manufacturing-capability:material-family:4" + } + ], + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "hierarchyElementId": "urn:manufacturing-capability:material-family:4", + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ] + } + ], + "certificates": [ + { + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ], + "products": [ + { + "properties": [ + { + "semanticReferences": [ + { + "semanticReferenceId": "urn:eclass:0173-1#02-AAF583#002" + } + ], + "propertyLabel": { + "und": "nominal voltage" + }, + "propertyValue": "220" + } + ], + "label": { + "und": "aluminum" + } + } + ] +} +``` diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability.api.mdx b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability.api.mdx new file mode 100644 index 00000000000..6bab83957bc --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability.api.mdx @@ -0,0 +1,158 @@ +--- +id: post-manufacturing-capability +title: "postManufacturingCapability" +description: "postManufacturingCapability" +sidebar_label: "postManufacturingCapability" +hide_title: true +hide_table_of_contents: true +api: {"servers":[{"url":"https://example.com/query-api/v3","variables":{"api-version":{"default":"v3"}}}],"tags":["ManufacturingCapability"],"operationId":"postManufacturingCapability","parameters":[{"name":"api-endpoint","in":"path","description":"The API endpoint to register manufacturing capabilities of a manufacturer.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"The filter to use.","example":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"postManufacturingCapability","method":"post","path":"/{api-endpoint}/ManufacturingCapability","jsonRequestBodyExample":{"filter":{"description":"An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other.","type":"object","properties":{"processes":{"description":"Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources.","type":"array","items":{"description":"Element containing a bill of process identifier.","type":"object","properties":{"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"}},"required":["billOfProcessIdentification"]},"uniqueItems":true},"machines":{"description":"A set of machines used for production.","type":"array","items":{"description":"Element containing the SAMM properties of a machine.","type":"object","properties":{"provides":{"description":"Set of capabilities the machine can provide.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"containsTools":{"description":"Set of machine tools the machine can be equipped with.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"products":{"description":"Set of physical objects being used as an input or created as an output of a production process.","type":"array","items":{"description":"Element containing the SAMM properties of a product.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true},"capabilities":{"description":"Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world.","type":"array","items":{"description":"Element containing the SAMM properties of a capability.","type":"object","properties":{"capabilityConstraintSet":{"description":"Set of conditions imposed on capabilities which further detail their applicability.","type":"array","items":{"description":"Element containing the samm properties of a capability constraint.","type":"object","properties":{"capabilityConstraintProperties":{"description":"Set of constraints restricting the capability.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"refersToMaterial":{"description":"A specific material the capability constraint can refer to.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}}},"uniqueItems":true},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"},"capabilityLabel":{"description":"Label of a capability.","type":"object"}},"required":["capabilityLabel"],"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true},"machineTools":{"description":"A set of machine tools.","type":"array","items":{"description":"Element containing the SAMM properties of a machine tool.","type":"object","properties":{"canProcessMaterials":{"description":"Set of materials the machine tool can utilize.","type":"array","items":{"description":"Characteristic for a material.","type":"object","properties":{"belongsToMaterialFamilies":{"description":"A material belongs to certain material families.","type":"array","items":{"description":"Element containing the SAMM properties of a material family.","type":"object","properties":{},"allOf":[{"description":"Template for elements containing the SAMM properties needed to build hierarchies.","type":"object","properties":{"specializes":{"description":"One hierarchy element can specialize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"generalizes":{"description":"One hierarchy element can generalize others.","type":"array","items":{"description":"Element containing the SAMM properties of a hierarchy element.","type":"object","properties":{"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"]},"uniqueItems":true},"hierarchyElementId":{"description":"An identifier of a hierarchy element.","type":"string"}},"required":["hierarchyElementId"],"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]}]},"uniqueItems":true}},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}}},"uniqueItems":true},"certificates":{"description":"Set of certificates.","type":"array","items":{"description":"Element containing the SAMM properties of a certificate.","type":"object","properties":{},"allOf":[{"description":"Template for elements needing a label and containing properties.","type":"object","properties":{"properties":{"description":"Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities.","type":"array","items":{"description":"Element containing the SAMM properties of a property.","type":"object","properties":{"propertyLabel":{"description":"Human readable label of a property.","type":"object"},"semanticReferences":{"description":"A set of semantic references.","type":"array","items":{"description":"Element containing the SAMM properties of a semantic reference.","type":"object","properties":{"semanticReferenceId":{"description":"Globally unique identifier for the semantic.","type":"string"}},"required":["semanticReferenceId"]},"uniqueItems":true},"propertyValue":{"description":"The value of a property. Note that this SAMM property does have a variable type and is therefore defined as string.","type":"string"}},"required":["propertyLabel"]},"uniqueItems":true},"label":{"description":"Multilanguage label of an element.","type":"object"}},"required":["label"]}]},"uniqueItems":true}},"required":["processes","machines","products","capabilities","machineTools","certificates"]}},"info":{"description":"The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details.","title":"Manufacturing Capability Aspect Model","version":"v3.1.0"},"postman":{"name":"post Manufacturing Capability","description":{"type":"text/plain"},"url":{"path":[":api-endpoint","ManufacturingCapability"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The API endpoint to register manufacturing capabilities of a manufacturer.","type":"text/plain"},"type":"any","value":"","key":"api-endpoint"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postManufacturingCapability + + + +postManufacturingCapability + +
Path Parameters
Request Body
+ +The request was successful. + +
Schema
    processes object[]
    + +Set of production-relevant activities at any level of granularity that might affect materials and is performed by resources. + +
    machines object[]
    + +A set of machines used for production. + +
    provides object[]
    + +Set of capabilities the machine can provide. + +
    capabilityConstraintSet object[]
    + +Set of conditions imposed on capabilities which further detail their applicability. + +
    capabilityConstraintProperties object[]
    + +Set of constraints restricting the capability. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    refersToMaterial object
    + +Template for elements needing a label and containing properties. + +
    properties object[]
    + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    containsTools object[]
    + +Set of machine tools the machine can be equipped with. + +
    canProcessMaterials object[]
    + +Set of materials the machine tool can utilize. + +
    belongsToMaterialFamilies object[]
    + +A material belongs to certain material families. + +
    products object[]
    + +Set of physical objects being used as an input or created as an output of a production process. + +
    capabilities object[]
    + +Set of implementation-independent specifications of functions in industrial production to achieve an effect in the physical or virtual world. + +
    capabilityConstraintSet object[]
    + +Set of conditions imposed on capabilities which further detail their applicability. + +
    capabilityConstraintProperties object[]
    + +Set of constraints restricting the capability. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    refersToMaterial object
    + +Template for elements needing a label and containing properties. + +
    properties object[]
    + +Set of qualities or characteristics inherent in or ascribed to process, resource, product or capability entities. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    semanticReferences object[]
    + +A set of semantic references. + +
    machineTools object[]
    + +A set of machine tools. + +
    canProcessMaterials object[]
    + +Set of materials the machine tool can utilize. + +
    belongsToMaterialFamilies object[]
    + +A material belongs to certain material families. + +
    certificates object[]
    + +Set of certificates. + +
+ +Payload or user input is invalid. See error details in the payload for more. + +
Schema
    error object
    details object
    + +**Possible values:** `non-empty` + +
  • property name* object
+ +The requesting user or client is not authenticated. + +
+ +The requesting user or client is not authorized to access resources for the given tenant. + +
+ +The requested Twin has not been found. + +
+ \ No newline at end of file diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/res/RefArcMC.JPG b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/res/RefArcMC.JPG new file mode 100644 index 00000000000..22a9f645638 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/res/RefArcMC.JPG differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/sidebar.js b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/sidebar.js new file mode 100644 index 00000000000..bb67358c345 --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability-aspect-model"},{"type":"category","label":"ManufacturingCapability","link":{"type":"generated-index","title":"ManufacturingCapability","slug":"/category/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/manufacturing-capability"},"items":[{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/get-manufacturing-capability","label":"getManufacturingCapability","className":"api-method get"},{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability/post-manufacturing-capability","label":"postManufacturingCapability","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/page_software-development-view.md b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/page_software-development-view.md new file mode 100644 index 00000000000..906e884de15 --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/page_software-development-view.md @@ -0,0 +1,138 @@ +--- +id: Request for Quotation API Description Manufacturing as a Service Kit +title: API Description +description: 'Manufacturing as a Service Kit' +sidebar_position: 4 +--- + +The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. + +![Reference Architecture Request for Quotation](resources/RefArcRfQ.JPG) + +Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. Below is a sample request option: + +1. POST:/{api-endpoint}/request-for-quotation + - Description: The API endpoint to send a request for quotation to a manufacturer. + +## Sample Data + +```json +{ + "rfqConfiguration" : { + "firstDeliveryDate" : "2023-10-24", + "additionalFiles" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "cadFile" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "additionalComments" : "this is a prototype, recommendations towards design for manufacturing are highly welcome", + "parts" : { + "generalTolerance" : "ISO 2768-1 (m), Rough DIN ISO 2768 cL, Medium DIN ISO 2768 mK, Fine DIN ISO 2768 fH", + "manufacturingDomain" : "additive manufacturing", + "material" : { + "materialFamily" : "aluminum, steel, ...", + "materialProperties" : { + "value" : "2.7 or black", + "propertyName" : "density or color", + "valueType" : "g/cm3 or string" + } + }, + "partId" : "Drehteil", + "additionalRequirements" : "premium quality check, standard quality check", + "partQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "billOfProcess" : { + "process" : [ { + "capabilityId" : "urn:manufacturing-capability:capability:42", + "childProcessSteps" : [ "pick" ], + "precedenceRelation" : [ { + "precedenceElements" : [ { + "successor" : [ "TransportStepId" ] + } ] + } ], + "processStepIdentifier" : [ "1234-transport" ], + "inputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ], + "processStepType" : "IsFirstElement", + "outputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ] + } ], + "productVersion" : "bar_chair_1.0.0", + "billOfProcessIdentification" : "www.1234-bar-chair-billOfProcess.de", + "version" : "2.0.0", + "productName" : "Bar Chair" + }, + "partName" : "Drehteil" + }, + "orderQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "lastDeliveryDate" : "2023-12-24" + }, + "rfqIdentification" : { + "rfqVersion" : "1.0.0", + "rfqName" : "Drehteil", + "rfqDateTime" : "2023-10-24T14:48:54.709Z", + "rfqSource" : "https://maasportal.mendixcloud.com/", + "rfqId" : "Drehteil_02_0815" + }, + "cxHeader" : { + "senderBpn" : "BPNL7588787849VQ", + "relatedMessageId" : "d9452f24-3bf3-4134-b3eb-68858f1b2362", + "expectedResponseBy" : "2023-06-19T21:24:00+07:00", + "context" : "urn:samm:io.catenax.:1.x.x", + "messageId" : "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn" : "BPNL6666787765VQ", + "sentDateTime" : "2023-06-19T21:24:00+07:00", + "version" : "2.0.0" + }, + "rfqSender" : { + "deliveryRequirements" : "no plastic for packaging", + "senderName" : "John Doe", + "senderPhoneNumber" : "555 123456", + "senderEMail" : "johndoe@sunny.com", + "senderDeliveryAddress" : "Mystreet 1, 1234 Mystate", + "senderAdress" : "Sunstreet 1, 5555 Sunstate", + "senderAccountAddress" : "Accountstreet 1, 1234 Accountstate", + "senderCompanyName" : "ManufactureEnterprise" + } +} +``` diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation.api.mdx b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation.api.mdx new file mode 100644 index 00000000000..e7f1c41bbe8 --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation.api.mdx @@ -0,0 +1,146 @@ +--- +id: post-request-for-quotation +title: "postRequestForQuotation" +description: "postRequestForQuotation" +sidebar_label: "postRequestForQuotation" +hide_title: true +hide_table_of_contents: true +api: {"servers":[{"url":"https://example.com/query-api/v3","variables":{"api-version":{"default":"v3"}}}],"tags":["RequestForQuotation"],"operationId":"postRequestForQuotation","parameters":[{"name":"api-endpoint","in":"path","description":"The API endpoint to send a request for quotation to a manufacturer.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["filter"],"properties":{"filter":{"type":"string","description":"The filter to use.","example":{"description":"The request for quotation represents the data structure to configure a manufacturing request and send this to a supplier receive a quotation","type":"object","properties":{"rfqIdentification":{"description":"all properties necessary for identification of the request for quotation","type":"object","properties":{"rfqSource":{"description":"RFQ-Identification: digital address of the sender (e.g.token, IP address, link, user account)","type":"string"},"rfqId":{"description":"RFQ-Identification: internal identifier in user account","type":"string"},"rfqName":{"description":"RFQ-Identification: name for the request for user account management (usually name of the product to be manufactured)","type":"string"},"rfqDateTime":{"description":"RFQ-Identification: date and time of the request in user account","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"rfqVersion":{"description":"RFQ-Identification: version of this request in case there were any changes","type":"string"}},"required":["rfqId","rfqName","rfqDateTime","rfqVersion"]},"rfqConfiguration":{"description":"all information to configure a request for quotation","type":"object","properties":{"cadFile":{"description":"RFQ-Configuration: CAD file as geometry definition, e.g. step file","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"parts":{"description":"RFQ-Configuration: list of parts contained in the CAD file","type":"object","properties":{"partId":{"description":"RFQ-PartConfiguration: identifier of the part from CAD File","type":"string"},"partName":{"description":"RFQ-PartConfiguration: name of the part in CAD file. In case the CAD file has only one part, this could also be the file name.","type":"string"},"manufacturingDomain":{"description":"RFQ-PartConfiguration: domain of required process (e.g. subtractive manufacturing, additive manufacturing, assembly)","type":"string"},"generalTolerance":{"description":"RFQ-PartConfiguration: selection of defined tolerance classes","type":"string"},"additionalRequirements":{"description":"RFQ-PartConfiguration: specific requirements e.g. to guarantee quality, like premium quality check or standard quality check or test part required (makes only sense for batch)","type":"string"},"material":{"description":"RFQ-PartConfiguration: material definition with further information","type":"object","properties":{"materialProperties":{"description":"material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table","type":"object","properties":{"value":{"description":"value to detail the part material item","type":"string"},"valueType":{"description":"value type to specify the value of the property","type":"string"},"propertyName":{"description":"name of the property","type":"string"}},"required":["value","valueType","propertyName"]},"materialFamily":{"description":"definition of material family for preselection","type":"string"}},"required":["materialProperties"]},"partQuantity":{"description":"RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts.","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]},"billOfProcess":{"description":"RFQ-PartConfiguration: list of process steps for part to be manufactured","type":"object","properties":{"process":{"description":"List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process ","type":"array","items":{"description":"Entity to characterize single process steps","type":"object","properties":{"processStepIdentifier":{"description":"Unique identifier for a concrete process step","type":"array","items":{"type":"string"}},"inputParameters":{"description":"Optional list of parameters that are required to execute the corresponding process step","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"outputParameters":{"description":"Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"precedenceRelation":{"description":"List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor","type":"array","items":{"description":"List of process steps that must be executed in parallel","type":"object","properties":{"precedenceElements":{"description":"List process steps that must be executed in parallel","type":"array","items":{"description":"Entity to link the current process step to its successors","type":"object","properties":{"successor":{"description":"List of subsequent process step which can be executed in any order ","type":"array","items":{"type":"string"}}},"required":["successor"]}}},"required":["precedenceElements"]}},"childProcessSteps":{"description":"List of child processes that need to be executed to complete the parent process step. It enables the expression of hierarchies between capabilities, e.g. a transport capability needs to execute at least a pick, a move and a place capability","type":"array","items":{"type":"string"}},"processStepType":{"description":"Distinguishes process steps based on whether there are the first or last process step to be executed, or if they are a subprocess step, which subdivides a higher-level process step into smaller process steps","type":"string","enum":["IsFirstElement","IsLastElement","IsProcessElement","IsSubprocessElement"]},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"}},"required":["processStepIdentifier","processStepType","capabilityId"]}},"productVersion":{"description":"Version of the product whose manufacturing steps are specified with the bill of process. It can for example specify a concrete variant of a product","type":"string"},"productName":{"description":"Name of the product whose production steps are specified within the bill of process","type":"string"},"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["process","productVersion","productName","billOfProcessIdentification","version"]}},"required":["partId","partName","generalTolerance","material","partQuantity"]},"firstDeliveryDate":{"description":"RFQ-Configuration: Date of desired, first, but not must delivery","type":"string","format":"date"},"lastDeliveryDate":{"description":"RFQ-Configuration: date of required and last acceptable delivery","type":"string","format":"date"},"additionalComments":{"description":"RFQ-Configuration: placeholder for any kind of additional comments","type":"string"},"additionalFiles":{"description":"RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings)","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"orderQuantity":{"description":"RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered)","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]}},"required":["cadFile","parts","lastDeliveryDate","orderQuantity"]},"rfqSender":{"description":"all data about sender of request for quotation, important for offer and delivery","type":"object","properties":{"senderName":{"description":"RFQ-Sender: name of the sender","type":"string"},"senderAdress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender","type":"string"},"senderCompanyName":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, company name of sender","type":"string"},"senderEMail":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, e-mail address of sender","type":"string"},"senderPhoneNumber":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, phone number of sender","type":"string"},"senderAccountAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for account","type":"string"},"senderDeliveryAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for delivery","type":"string"},"deliveryRequirements":{"description":"RFQ-Sender: filled by customer, any kind of delivery requirements","type":"string"}},"required":["senderName","senderAdress","senderEMail","senderPhoneNumber","senderAccountAddress","senderDeliveryAddress"]},"cxHeader":{"description":"header information by Catena-X","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["rfqIdentification","rfqConfiguration","rfqSender","cxHeader"]}}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"description":"The request for quotation represents the data structure to configure a manufacturing request and send this to a supplier receive a quotation","type":"object","properties":{"rfqIdentification":{"description":"all properties necessary for identification of the request for quotation","type":"object","properties":{"rfqSource":{"description":"RFQ-Identification: digital address of the sender (e.g.token, IP address, link, user account)","type":"string"},"rfqId":{"description":"RFQ-Identification: internal identifier in user account","type":"string"},"rfqName":{"description":"RFQ-Identification: name for the request for user account management (usually name of the product to be manufactured)","type":"string"},"rfqDateTime":{"description":"RFQ-Identification: date and time of the request in user account","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"rfqVersion":{"description":"RFQ-Identification: version of this request in case there were any changes","type":"string"}},"required":["rfqId","rfqName","rfqDateTime","rfqVersion"]},"rfqConfiguration":{"description":"all information to configure a request for quotation","type":"object","properties":{"cadFile":{"description":"RFQ-Configuration: CAD file as geometry definition, e.g. step file","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"parts":{"description":"RFQ-Configuration: list of parts contained in the CAD file","type":"object","properties":{"partId":{"description":"RFQ-PartConfiguration: identifier of the part from CAD File","type":"string"},"partName":{"description":"RFQ-PartConfiguration: name of the part in CAD file. In case the CAD file has only one part, this could also be the file name.","type":"string"},"manufacturingDomain":{"description":"RFQ-PartConfiguration: domain of required process (e.g. subtractive manufacturing, additive manufacturing, assembly)","type":"string"},"generalTolerance":{"description":"RFQ-PartConfiguration: selection of defined tolerance classes","type":"string"},"additionalRequirements":{"description":"RFQ-PartConfiguration: specific requirements e.g. to guarantee quality, like premium quality check or standard quality check or test part required (makes only sense for batch)","type":"string"},"material":{"description":"RFQ-PartConfiguration: material definition with further information","type":"object","properties":{"materialProperties":{"description":"material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table","type":"object","properties":{"value":{"description":"value to detail the part material item","type":"string"},"valueType":{"description":"value type to specify the value of the property","type":"string"},"propertyName":{"description":"name of the property","type":"string"}},"required":["value","valueType","propertyName"]},"materialFamily":{"description":"definition of material family for preselection","type":"string"}},"required":["materialProperties"]},"partQuantity":{"description":"RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts.","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]},"billOfProcess":{"description":"RFQ-PartConfiguration: list of process steps for part to be manufactured","type":"object","properties":{"process":{"description":"List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process ","type":"array","items":{"description":"Entity to characterize single process steps","type":"object","properties":{"processStepIdentifier":{"description":"Unique identifier for a concrete process step","type":"array","items":{"type":"string"}},"inputParameters":{"description":"Optional list of parameters that are required to execute the corresponding process step","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"outputParameters":{"description":"Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"precedenceRelation":{"description":"List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor","type":"array","items":{"description":"List of process steps that must be executed in parallel","type":"object","properties":{"precedenceElements":{"description":"List process steps that must be executed in parallel","type":"array","items":{"description":"Entity to link the current process step to its successors","type":"object","properties":{"successor":{"description":"List of subsequent process step which can be executed in any order ","type":"array","items":{"type":"string"}}},"required":["successor"]}}},"required":["precedenceElements"]}},"childProcessSteps":{"description":"List of child processes that need to be executed to complete the parent process step. It enables the expression of hierarchies between capabilities, e.g. a transport capability needs to execute at least a pick, a move and a place capability","type":"array","items":{"type":"string"}},"processStepType":{"description":"Distinguishes process steps based on whether there are the first or last process step to be executed, or if they are a subprocess step, which subdivides a higher-level process step into smaller process steps","type":"string","enum":["IsFirstElement","IsLastElement","IsProcessElement","IsSubprocessElement"]},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"}},"required":["processStepIdentifier","processStepType","capabilityId"]}},"productVersion":{"description":"Version of the product whose manufacturing steps are specified with the bill of process. It can for example specify a concrete variant of a product","type":"string"},"productName":{"description":"Name of the product whose production steps are specified within the bill of process","type":"string"},"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["process","productVersion","productName","billOfProcessIdentification","version"]}},"required":["partId","partName","generalTolerance","material","partQuantity"]},"firstDeliveryDate":{"description":"RFQ-Configuration: Date of desired, first, but not must delivery","type":"string","format":"date"},"lastDeliveryDate":{"description":"RFQ-Configuration: date of required and last acceptable delivery","type":"string","format":"date"},"additionalComments":{"description":"RFQ-Configuration: placeholder for any kind of additional comments","type":"string"},"additionalFiles":{"description":"RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings)","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"orderQuantity":{"description":"RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered)","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]}},"required":["cadFile","parts","lastDeliveryDate","orderQuantity"]},"rfqSender":{"description":"all data about sender of request for quotation, important for offer and delivery","type":"object","properties":{"senderName":{"description":"RFQ-Sender: name of the sender","type":"string"},"senderAdress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender","type":"string"},"senderCompanyName":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, company name of sender","type":"string"},"senderEMail":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, e-mail address of sender","type":"string"},"senderPhoneNumber":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, phone number of sender","type":"string"},"senderAccountAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for account","type":"string"},"senderDeliveryAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for delivery","type":"string"},"deliveryRequirements":{"description":"RFQ-Sender: filled by customer, any kind of delivery requirements","type":"string"}},"required":["senderName","senderAdress","senderEMail","senderPhoneNumber","senderAccountAddress","senderDeliveryAddress"]},"cxHeader":{"description":"header information by Catena-X","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["rfqIdentification","rfqConfiguration","rfqSender","cxHeader"]}}},"description":"The request was successful."},"401":{"description":"Payload or user input is invalid. See error details in the payload for more.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["details"],"properties":{"message":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"details":{"type":"object","minLength":1,"additionalProperties":{"type":"object"}},"code":{"type":"string","nullable":true}}}}}}}},"402":{"description":"The requesting user or client is not authenticated."},"403":{"description":"The requesting user or client is not authorized to access resources for the given tenant."},"404":{"description":"The requested Twin has not been found."}},"description":"postRequestForQuotation","method":"post","path":"/{api-endpoint}/request-for-quotation","jsonRequestBodyExample":{"filter":{"description":"The request for quotation represents the data structure to configure a manufacturing request and send this to a supplier receive a quotation","type":"object","properties":{"rfqIdentification":{"description":"all properties necessary for identification of the request for quotation","type":"object","properties":{"rfqSource":{"description":"RFQ-Identification: digital address of the sender (e.g.token, IP address, link, user account)","type":"string"},"rfqId":{"description":"RFQ-Identification: internal identifier in user account","type":"string"},"rfqName":{"description":"RFQ-Identification: name for the request for user account management (usually name of the product to be manufactured)","type":"string"},"rfqDateTime":{"description":"RFQ-Identification: date and time of the request in user account","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"rfqVersion":{"description":"RFQ-Identification: version of this request in case there were any changes","type":"string"}},"required":["rfqId","rfqName","rfqDateTime","rfqVersion"]},"rfqConfiguration":{"description":"all information to configure a request for quotation","type":"object","properties":{"cadFile":{"description":"RFQ-Configuration: CAD file as geometry definition, e.g. step file","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"parts":{"description":"RFQ-Configuration: list of parts contained in the CAD file","type":"object","properties":{"partId":{"description":"RFQ-PartConfiguration: identifier of the part from CAD File","type":"string"},"partName":{"description":"RFQ-PartConfiguration: name of the part in CAD file. In case the CAD file has only one part, this could also be the file name.","type":"string"},"manufacturingDomain":{"description":"RFQ-PartConfiguration: domain of required process (e.g. subtractive manufacturing, additive manufacturing, assembly)","type":"string"},"generalTolerance":{"description":"RFQ-PartConfiguration: selection of defined tolerance classes","type":"string"},"additionalRequirements":{"description":"RFQ-PartConfiguration: specific requirements e.g. to guarantee quality, like premium quality check or standard quality check or test part required (makes only sense for batch)","type":"string"},"material":{"description":"RFQ-PartConfiguration: material definition with further information","type":"object","properties":{"materialProperties":{"description":"material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table","type":"object","properties":{"value":{"description":"value to detail the part material item","type":"string"},"valueType":{"description":"value type to specify the value of the property","type":"string"},"propertyName":{"description":"name of the property","type":"string"}},"required":["value","valueType","propertyName"]},"materialFamily":{"description":"definition of material family for preselection","type":"string"}},"required":["materialProperties"]},"partQuantity":{"description":"RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts.","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]},"billOfProcess":{"description":"RFQ-PartConfiguration: list of process steps for part to be manufactured","type":"object","properties":{"process":{"description":"List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process ","type":"array","items":{"description":"Entity to characterize single process steps","type":"object","properties":{"processStepIdentifier":{"description":"Unique identifier for a concrete process step","type":"array","items":{"type":"string"}},"inputParameters":{"description":"Optional list of parameters that are required to execute the corresponding process step","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"outputParameters":{"description":"Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps","type":"array","items":{"description":"Generic entity to characterize parameters. It distinguished four cases: a parameter without a value, a parameter with a value, a parameter with a value range and a parameter with tolerances ","type":"object","properties":{"name":{"description":"Name of the parameter","type":"string"},"value":{"description":"Value of the parameter","type":"string"},"semanticReference":{"description":"Reference to a semantic namespace in which the type of the parameter is defined","type":"array","items":{"type":"string"}},"parameterKey":{"description":"Enumeration that is used to distinguish whether the parameter has no value, has a value, has a value range or has a value with tolerances","type":"string","enum":["HasValue","HasNoValue","HasValueRange","HasTolerances"]},"valueRangeList":{"description":"List with value ranges for a parameter","type":"array","items":{"description":"Entity for each value range item","type":"object","properties":{"lowerValue":{"description":"Lower border of a value range item","type":"string"},"upperValue":{"description":"Upper border for a value range item","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerValue","upperValue"]}},"tolerances":{"description":"Tolerances for a parameter ","type":"array","items":{"description":"Entity to express the tolerances of a parameter","type":"object","properties":{"lowerLimit":{"description":"The lower direct limit of the tolerance","type":"string"},"upperLimit":{"description":"Upper direct limit of the tolerance","type":"string"},"name":{"description":"Name of the parameter","type":"string"}},"required":["lowerLimit","upperLimit"]}}},"required":["name","semanticReference","parameterKey"]}},"precedenceRelation":{"description":"List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor","type":"array","items":{"description":"List of process steps that must be executed in parallel","type":"object","properties":{"precedenceElements":{"description":"List process steps that must be executed in parallel","type":"array","items":{"description":"Entity to link the current process step to its successors","type":"object","properties":{"successor":{"description":"List of subsequent process step which can be executed in any order ","type":"array","items":{"type":"string"}}},"required":["successor"]}}},"required":["precedenceElements"]}},"childProcessSteps":{"description":"List of child processes that need to be executed to complete the parent process step. It enables the expression of hierarchies between capabilities, e.g. a transport capability needs to execute at least a pick, a move and a place capability","type":"array","items":{"type":"string"}},"processStepType":{"description":"Distinguishes process steps based on whether there are the first or last process step to be executed, or if they are a subprocess step, which subdivides a higher-level process step into smaller process steps","type":"string","enum":["IsFirstElement","IsLastElement","IsProcessElement","IsSubprocessElement"]},"capabilityId":{"description":"Locally unique identifier for a capability.","type":"string"}},"required":["processStepIdentifier","processStepType","capabilityId"]}},"productVersion":{"description":"Version of the product whose manufacturing steps are specified with the bill of process. It can for example specify a concrete variant of a product","type":"string"},"productName":{"description":"Name of the product whose production steps are specified within the bill of process","type":"string"},"billOfProcessIdentification":{"description":"Unique identifier for a bill of process that can be used to reference instances of the bill of process","type":"string"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["process","productVersion","productName","billOfProcessIdentification","version"]}},"required":["partId","partName","generalTolerance","material","partQuantity"]},"firstDeliveryDate":{"description":"RFQ-Configuration: Date of desired, first, but not must delivery","type":"string","format":"date"},"lastDeliveryDate":{"description":"RFQ-Configuration: date of required and last acceptable delivery","type":"string","format":"date"},"additionalComments":{"description":"RFQ-Configuration: placeholder for any kind of additional comments","type":"string"},"additionalFiles":{"description":"RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings)","type":"object","properties":{"fileType":{"description":"RFQ-Configuration: file format","type":"string"},"filePath":{"description":"path or address to the file ","type":"string"},"fileName":{"description":"name of the file","type":"string"},"fileObject":{"description":"the file object itself, in case this could be sent via the API","type":"object","properties":{}}},"required":["fileType","fileName"]},"orderQuantity":{"description":"RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered)","type":"object","properties":{"quantityNumber":{"description":"The number of objects related to the measurement unit","type":"number"},"measurementUnit":{"description":"Unit of Measurement for the quantity of serialized objects","type":"string","pattern":"[a-zA-Z]*:[a-zA-Z]+"}},"required":["quantityNumber","measurementUnit"]}},"required":["cadFile","parts","lastDeliveryDate","orderQuantity"]},"rfqSender":{"description":"all data about sender of request for quotation, important for offer and delivery","type":"object","properties":{"senderName":{"description":"RFQ-Sender: name of the sender","type":"string"},"senderAdress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender","type":"string"},"senderCompanyName":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, company name of sender","type":"string"},"senderEMail":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, e-mail address of sender","type":"string"},"senderPhoneNumber":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, phone number of sender","type":"string"},"senderAccountAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for account","type":"string"},"senderDeliveryAddress":{"description":"RFQ-Sender: BPDM/ or fill in by the customer, address of sender for delivery","type":"string"},"deliveryRequirements":{"description":"RFQ-Sender: filled by customer, any kind of delivery requirements","type":"string"}},"required":["senderName","senderAdress","senderEMail","senderPhoneNumber","senderAccountAddress","senderDeliveryAddress"]},"cxHeader":{"description":"header information by Catena-X","type":"object","properties":{"messageId":{"description":"Unique ID identifying the message. The purpose of the ID is to uniquely identify a single message, therefore it MUST not be reused.","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"context":{"description":"Information about the context the message should be considered in.\nThe value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number.\nBoth the identifier and the version number MUST correspond to the content of the message.\nIf the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field.","type":"string"},"sentDateTime":{"description":"Time zone aware timestamp holding the date and the time the message was sent by the sending party. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"senderBpn":{"description":"The Business Partner Number of the sending party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"receiverBpn":{"description":"The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard.","type":"string","pattern":"^BPNL[a-zA-Z0-9]{12}$"},"expectedResponseBy":{"description":"Time zone aware timestamp holding the date and time by which the sending party expects a certain type of response from the receiving party. The meaning and interpretation of the fields's value are context-bound and MUST therefore be defined by any business domain or platform capability making use of it. The value MUST be formatted according to the ISO 8601 standard","type":"string","pattern":"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"},"relatedMessageId":{"description":"Unique ID identifying a message somehow related to the current one","type":"string","pattern":"(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)"},"version":{"description":"The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X.","type":"string","pattern":"^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$"}},"required":["messageId","context","sentDateTime","senderBpn","receiverBpn","version"]}},"required":["rfqIdentification","rfqConfiguration","rfqSender","cxHeader"]}},"info":{"description":"The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation)","title":"Request For Quotation","version":"v3"},"postman":{"name":"post Request For Quotation","description":{"type":"text/plain"},"url":{"path":[":api-endpoint","request-for-quotation"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) The API endpoint to send a request for quotation to a manufacturer.","type":"text/plain"},"type":"any","value":"","key":"api-endpoint"}]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"POST","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} +sidebar_class_name: "post api-method" +info_path: docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation +custom_edit_url: null +--- + +import ApiTabs from "@theme/ApiTabs"; +import MimeTabs from "@theme/MimeTabs"; +import ParamsItem from "@theme/ParamsItem"; +import ResponseSamples from "@theme/ResponseSamples"; +import SchemaItem from "@theme/SchemaItem"; +import SchemaTabs from "@theme/SchemaTabs"; +import DiscriminatorTabs from "@theme/DiscriminatorTabs"; +import TabItem from "@theme/TabItem"; + +## postRequestForQuotation + + + +postRequestForQuotation + +
Path Parameters
Request Body
+ +The request was successful. + +
Schema
    rfqIdentification object
    + +all properties necessary for identification of the request for quotation + +
    rfqConfiguration object
    + +all information to configure a request for quotation + +
    cadFile object
    + +RFQ-Configuration: CAD file as geometry definition, e.g. step file + +
    fileObject object
    + +the file object itself, in case this could be sent via the API + +
    parts object
    + +RFQ-Configuration: list of parts contained in the CAD file + +
    material object
    + +RFQ-PartConfiguration: material definition with further information + +
    materialProperties object
    + +material definition with additional detail properties with name, value and value type, like name= density, value=2.7, type=g/m3 or name= chemical term, value=AlMgMn, type=periodic table + +
    partQuantity object
    + +RFQ-PartConfiguration: Quantity of which the part item is assembled into the parent item (within the CAD File). In general it is '1' for serialized parts. + +
    billOfProcess object
    + +RFQ-PartConfiguration: list of process steps for part to be manufactured + +
    process object[]
    + +List that contains all manufacturing steps of a product, whereat each manufacturing step refers to exactly one capability. This list contains all process steps that are required to manufacture the product, specified with the bill of process + +
    inputParameters object[]
    + +Optional list of parameters that are required to execute the corresponding process step + +
    valueRangeList object[]
    + +List with value ranges for a parameter + +
    tolerances object[]
    + +Tolerances for a parameter + +
    outputParameters object[]
    + +Optional list of parameters that are returned from the process step and can be used as inputParameters for subsequent steps + +
    valueRangeList object[]
    + +List with value ranges for a parameter + +
    tolerances object[]
    + +Tolerances for a parameter + +
    precedenceRelation object[]
    + +List of alternative process steps from which the manufacturer has to select exactly one step to be executed. In case of no alternative process step, the list features only one element. In case of the last element, the property is not used, since the process step has no successor + +
    precedenceElements object[]
    + +List process steps that must be executed in parallel + +
    additionalFiles object
    + +RFQ-Configuration: in case there are additional documents or files to share (like e.g. technical drawings) + +
    fileObject object
    + +the file object itself, in case this could be sent via the API + +
    orderQuantity object
    + +RFQ-Configuration: quantity at all, valid for complete order (usually number of products to be ordered) + +
    rfqSender object
    + +all data about sender of request for quotation, important for offer and delivery + +
    cxHeader object
    + +header information by Catena-X + +
    :1.x.x) MUST be used as a value of the context field. This is considered the default case.\nIn all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x).\nVersioning only refers to major versions in both default and fallback cases.\nNote: The version of the message's header is specified in the version field."} schemaName={"string"} qualifierMessage={undefined} defaultValue={undefined}>
    + +Payload or user input is invalid. See error details in the payload for more. + +
    Schema
      error object
      details object
      + +**Possible values:** `non-empty` + +
    • property name* object
    + +The requesting user or client is not authenticated. + +
    + +The requesting user or client is not authorized to access resources for the given tenant. + +
    + +The requested Twin has not been found. + +
    + \ No newline at end of file diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation.info.mdx b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation.info.mdx new file mode 100644 index 00000000000..8ebc7f47ef4 --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation.info.mdx @@ -0,0 +1,25 @@ +--- +id: request-for-quotation +title: "Request For Quotation" +description: "The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation)" +sidebar_label: Introduction +sidebar_position: 0 +hide_title: true +custom_edit_url: null +--- + +import ApiLogo from "@theme/ApiLogo"; +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; +import Export from "@theme/ApiDemoPanel/Export"; + +Version: v3 + +# Request For Quotation + + + +The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation) + + + \ No newline at end of file diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/resources/RefArcRfQ.JPG b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/resources/RefArcRfQ.JPG new file mode 100644 index 00000000000..7bac357111b Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/resources/RefArcRfQ.JPG differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/sidebar.js b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/sidebar.js new file mode 100644 index 00000000000..dff71ef79d2 --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/sidebar.js @@ -0,0 +1 @@ +module.exports = [{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation"},{"type":"category","label":"RequestForQuotation","link":{"type":"generated-index","title":"RequestForQuotation","slug":"/category/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/request-for-quotation"},"items":[{"type":"doc","id":"kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation/post-request-for-quotation","label":"postRequestForQuotation","className":"api-method post"}]}]; \ No newline at end of file diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/page_software-development-view.md b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/page_software-development-view.md new file mode 100644 index 00000000000..667faea4237 --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/page_software-development-view.md @@ -0,0 +1,14 @@ +--- +id: Introduction Manufacturing as a Service Kit +title: Introduction +description: 'Manufacturing as a Service Kit' +sidebar_position: 4 +--- + +Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. This connection depends on the capabilities that are offered on the supplier side and that are required on the buyer side. + +The Manufacturing Capability API defines how to share the manufacturing capabilities, e.g. to onboard them to a Manufacturing Network Registry. Manufacturing Network Platforms and MaaS Manufacturer Application can use the Manufacturing Capability API to onboard their manufacturing capabilities in the Manufacturing Network Registry (see figure). + +The Request for Quotation API defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. The necessary capabilities can be derived from the defined RfQ, which can subsequently be used in the MaaS Manufacturer Application for feasibility analyses or calculations (see figure). + +![Overview](resources/overview.png) diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/page_software_architecture.md b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/page_software_architecture.md new file mode 100644 index 00000000000..5b2b5d7a26f --- /dev/null +++ b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/page_software_architecture.md @@ -0,0 +1,858 @@ +--- +id: Architecture Manufacturing as a Service Kit +title: Architecture +description: 'Architecture +Manufacturing as a Service Kit' +sidebar_position: 4 +--- +## 1 Introduction and Goals + +Manufacturing as a Service (MaaS) requires a matchmaking between the requirements to produce a part or assembly and the capabilities manufacturers can provide, not mentioning the manufacturer’s respective capacities. In addition, manufacturers who are able to offer certain capabilities may never have produced for the product area to which they can contribute. The automotive industry has massive supply chains consisting of manufacturers from nearly every manufacturing domain there is. In such a cross-domain setup, the heterogeneity of production requirements and manufacturing capability descriptions, as well as highly different technical interfaces and governance requirements are major challenges to build an ecosystem for MaaS. + +To empower MaaS for the automotive industry the Catena-X MaaS team built the **C**atena-X **D**igital **M**aaS **E**cosystem (**CDME**). + +**This CDME architecture documentation is mostly based on the article \*[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)**\***. See chapter "Solution Strategy" for more details.** + +## 2 Constraints + +Business interests of manufacturing network platforms have to be supported. Examples: + +- business models where a platform hides its manufacturing network and acts as a manufacturer towards the market itself. +- business models where a platform's unique selling point is the provision of additional engineering services. + +## 3 Context and Scope + +### 3.1 Business Context + +#### 3.1.1 Use Cases + +MaaS in Catena-X concentrates on the matchmaking between the manufacturing capability demand and the offerings. For this purpose, business models have been researched and use cases have been defined (cf. ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396))***. + +One of these use cases has been utilized to build the main scenario of CDME. This use case builds on a federated marketplace for manufacturing capabilities. For this, the manufacturer onboards their capabilities directly in the federated marketplace or on another MaaS marketplace (e.g., an on-demand manufacturing (ODM) platform) which then onboards their capabilities for them as a proxy. Capabilities include knowledge about the factories, e.g., machinery, human expertise, past production outputs and processes, capability terms like “band sawing”, certifications, etc. Buyers are further able to search for the manufacturing capabilities they require to produce a certain product (usually parts or assemblies). This can include individual manufacturing steps to cover missing capabilities in regard to existing productions or even fully external production offers. Both the ODM platform and the marketplace can perform the necessary matchmaking between required and offered capabilities. Usually, the ODM platforms offer the production of a certain part and often act as manufacturers, whereas the marketplace only offers the production by an arbitrary number of manufacturers. However, both may use additional IT or engineering services to provide their customers with added values such as feasibility analysis or optimization for cost reduction. Moreover, marketplaces can build hierarchies within themselves or with ODM platforms. This is the case in Catena-X, where a marketplace not only offers manufacturing capabilities registered directly by the manufacturers, but also capabilities registered with ODM platforms. In consequence, a network of networks is built which connects different networks of manufacturers (according to their capabilities) and offers multiple layers of monetarization and added value. This approach enables a single-entry point to the network of networks via the marketplace. + +![Marketplace Use Cases](resources/MarketplaceUseCases.png) + +*Figure - Marketplace use case overview. (Schoeppenthau et al. 2023).* + +| Stakeholder | Description | +| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Buyer | The buyer is a stakeholder who wants to order a component (part or assembly) to be produced by an external manufacturer. | +| Manufacturer | The manufacturer can be a single manufacturer or a manufacturing network. In the simplest case, a single manufacturer is a company with one production machine (e.g., 3D printer, lathe, etc.). A manufacturing network consists of several manufacturers that offer their manufacturing capabilities, e.g., via an ODM platform. | +| Platform Operator | Platform operators offer a software, usually cloud-based, which implements on-demand manufacturing, marketplace, and other use cases, including the respective user journey. | +| Digital Service Provider | Digital service providers offer IT or engineering logic and expertise as a digital service. They can offer their digital services to support the automation of digital manufacturing processes and reach a wider audience, thus scaling-up their business. Moreover, they support service customers in increasing their businesses. | + +#### 3.1.2 Business Process + +The following diagram covers the general business process addressed in the CDME. + +![Figure - Business process considered for CDME. Out of scope steps have not been elaborated and are therefore not covered by the technical architecture. (Schoeppenthau et al. 2023).](resources/image-2023-11-2_13-54-35.png) + +*Figure - Business process considered for CDME. Out of scope steps have not been elaborated and are therefore not covered by the technical architecture. (Schoeppenthau et al. 2023).* + +#### 3.1.3 System Context + +![Figure - System context view. (Schoeppenthau et al. 2023)](resources/System%20Scope.png) + +*Figure - System context view. (Schoeppenthau et al. 2023).* + +| Actor | Description | +| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Event Management | Events, e.g. issues within the supply chain, will be reported by external components and lead to reactions or status updates within the CDME. | +| External Services | External digital services are communicating with the CDME even without dataspace connector protection, e.g. when no operational data is communicated. | +| External IAM | Identity and Access Management of participating companies has to be supported by CDME. | +| Factory IT/OT | A factory's IT and OT may be connected to certain CDME components, e.g. for onboarding manufacturing capabilities via a CDME connector component. | +| External Marketplace | External marketplaces may be connected to the CDME, e.g. to federate them. | +| Dataspaces | CDME is based on the dataspace-agnostic Smart Factory Web reference architecture and can be connected to multiple dataspaces. | +| External Data and Knowledge Bases | Services and applications with CDME may exchange data with external databases, e.g. to consume ESG (Environmental, Social, Corporate Governance) information from data hubs. | +| Manufacturing Network Platform\* | Like marketplaces, other external platforms, e.g. for process optimization or cooperation matchmaking, can be connected to and federated by the CDME. | +| External Application | External applications can consume CDME services or exchange data with the CDME. Whether the data needs to be protected by dataspace technology is to be decided by the data provider. | + +| \*Manufacturing Network Platforms | Description | Website | +| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| Additive Manufacturing Network | The Siemens Additive Manufacturing Network is an online order-to-delivery collaboration platform for the industrial additive manufacturing community, incl. 3D printing, but also CNC machining, surface treatment and finishing. It connects the ecosystem, simplifies the collaboration process, and streamlines the production process. Siemens’ AM Network digitalizes and consistently improves your processes and ultimately accelerates the value in using Additive Manufacturing. | [Siemens Additive Manufacturing: Unlocking the true potential of AM](https://additive-manufacturing-network.sws.siemens.com/) | +| mipart | Mipart is an on demand manufacturing platform. As part of Catena-X, mipart acts as a Manufacturing Network Platform and fulfills the intermediation between the own manufacturer network and the Catena-X network. Mipart gives manufacturers who are unable to connect their resources to the Catena-X network due to limited IT options the opportunity to participate in the Catena-X network. If requests are forwarded from Catena-X to Mipart, it acts as an independent platform and matches the relevant manufacturers itself. | | +| up2parts | up2parts is a software company with the vision to increase the utilization of manufacturing companies througha cloud based platform that automates quoting and CAM with the help of AI. With their software solutions, up2parts aims for more transparency, availability of production-relevant component information, future-proof processes, and security of company expertise. This makes creation of work plans, calculations and CAM programs easier than ever. As part of Catena-X, up2parts acts as a Manufacturing Network Platform and contributes its own digital services to the MaaS architecture. Two central services are the Process Derivation Service (PDS) and Instant Quoting. | | + +#### 3.1.4 Stakeholders + +The CDME architecture covers all stakeholder roles as defined in ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)***. The following diagram and table list and describe these stakeholder roles and their relationships. + +![Stakeholders](resources/image-2023-11-2_14-7-37.png) + +*Figure - Key Roles in CDME. Eco system roles for governance are not addressed by the technological architecture. (Schoeppenthau et al. 2023).* + +| **Role** | **Description** | +| IT/Engineering Service Broker | Application which consumes IT or engineering services in order to cover user journeys, offering business logics and workflows for IT/Engineering Service Users. | +| IT/Engineering Service User | Person or application using IT or engineering services directly or through the IT/Engineering Service Broker, in order to fulfil business needs, e.g., to support engineering with feasibility analysis or costs forecast. | +| IT/Engineering Service Provider | Party providing IT or engineering services, e.g., feasibility analysis or costs forecast for a designed part. | +| Manufacturing Service User | Person (or organization) using a manufacturing service, e.g., the milling and drilling to produce a wheel suspension of their own design. | +| Manufacturing Service Provider | Organization providing a manufacturing service, such as milling or drilling. | +| Manufacturing Service Discovery | Application able to identify Manufacturing Service Providers based on manufacturing capabilities required by a Manufacturing Service User. | +| Manufacturing Service Broker | Application or organization providing Manufacturing Service Users with manufacturing services provided by manufacturing Service Providers. A Manufacturing Service Broker is also a Manufacturing Service Provider, if it also offers its own manufacturing services as well. | + +The following diagram visualizes an examplary allocation of roles to MaaS stakeholders and applications. + +![Example allocation of roles to stakeholders and applications](resources/image-2023-11-2_15-54-33.png) + +*Figure - Example allocation of roles to stakeholders and applications. (Schoeppenthau et al. 2023).* + +### 3.2 Technical Context + +The CDME supports five types of interfaces, including two interface types to communicate via dataspaces, one for the management of the respective connectors, and another covering data consumer and provider interfaces, usually containing backend adapters. As the CDME deploys a market for digital services, the services’ interfaces, usually HTTP-based APIs, like REST or GraphQL, are covered by CDME as well. Moreover, the CDME does not require such interfaces to communicate via dataspace connectors, since it is not restricted to dataspace usage. The use of a dataspace is the result of the data owner's decisions on what data should be protected by what type of technology and governance. Since Manufacturing-as-a-Service in general covers the entire production within any global supply chain, CDME must also follow an open design approach without a lock-in effect. + +![CDME interfaces](resources/Reference%20Architecture%20-%20Functional%20Layer.png) + +*Figure - CDME interfaces. (Schoeppenthau et al. 2023).* + +## 4 Solution Strategy + +The foundational concept of the CDME architecture originates from the [Smart Factory Web reference architecture](https://doi.org/10.3390/app11146585), the Fraunhofer IOSB introduced to Catena-X. During the Catena-X project, that reference architecture has been further developed. The resulting new, service-based version has been published as the [Smart Factory Web Version 2](https://doi.org/10.3390/s23177396). The Smart Factory Web Version 2 enables the federation of multiple manufacturing networks, focussing on information integration to enable cross manufacturing network lookups and matchmaking. The Smart Factory Web is dataspace-agnostic. The CDME architecture applies the Catena-X technology stack to the Smart Factory Web, resulting in a Catena-X embedding of the Smart Factory Web. + +In order to reduce the hurdle of market entry, the Catena-X MaaS digital ecosystem architecture is designed to support advanced alternatives of many of its components. As an example, the Manufacturing Network Registry can be built using AI-based information integration and situation-aware search query construction as described in the Smart Factory Web. However, an alternative registry can consist of a simple capability term to ODM platform mapping. The advanced version covers the search for federated, cross-domain information on manufacturers and provides filtering before manufacturers or ODM platforms are even queried. The simple register, on the other hand, does not offer a powerful search, but a phonebook-like lookup and therefore filters less, which may result in many more ODM platforms and manufacturers being sent queries. Since both approaches are valid, an operator could start with a simple registry and develop it into a more sophisticated registry as more information about manufacturers' capabilities and more resources for software development become available. + +## 5 Building Block View + +### 5.1 1st Level Whitebox + +![1st level whitebox view of CDME](resources/1st%20level%20whitebox%20marketplace%20use%20case.png) + +*Figure - 1st level whitebox view of CDME.* + +#### 5.1.1 Components + +| Component | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Manufacturing Network Platform | Any platform containing their own manufacturing network (i.e. registered manufacturers) that has information about the manufacturers' capabilities, e.g. ODM platforms like mipart or Additive Manufacturing Network (AMN) or production optimization platforms like Up2Parts. | +| MaaS Manufacturer Application | An application on the manufacturer's side, able to provide the manufacturer's capabilities as well as consume requests for quotation. A manufacturer either needs such an application or has to use a Manufacturing Network Platform as a proxy. In the latter case, the platform acts as supplier within the network of networks and needs the interoperability and functionalities of the manufacturer application. | +| MaaS Buyer Application | An application on the buyer's side, able to configure and send requests for quotation as well as listing matching manufacturers. | +| Digital Service | Any digital service, the marketplace will perform as broker for, e.g. feasibility analysis or derivation of manufacturing processes based on geometric part descriptions. | +| Marketplace | A MaaS marketplace acting as a round table for demanded and offered manufacturing capabilities as well as a broker for digital services. | +| Manufacturing Network Registry | A system able to onboard the capabilities of manufacturers, persist them and perform manufacturing network searches. | + +The prototypical implementation of the CDME can be allocated to these components as follows: + +| Implemented Component | Architecture Component | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | +| Up2Parts, mipart, Additive Manufacturing Network | Manufacturing Network Platform | +| SFW Connector, Up2Parts | MaaS Manufacturer Application | +| MaaS Portal (acts as Marketplace as well) | MaaS Buyer Application | +| Supply Chain Sustainability Service, Process Derivation Service (PDS), Search Engine, Asset Management Service (AMS), Asset Management and Refinement Application (AMARA), Instant Quoting Service | Digital Service | +| MaaS Portal (acts as MaaS Buyer Application as well) | Marketplace | +| Search Engine, Asset Management Service (AMS), Supplier Knowledge Base (SKB), Asset Management and Refinement Application (AMARA) | Manufacturing Network Registry | + +The Manufacturing Network Registry is implemented by the bundle of four components (Search Engine, AMS, SKB and AMARA). This bundle handles complex semantic integration tasks and will be explained in more detail within the next chapters. However, alternative, more simple Manufacturing Network Registries are possible. + +Currently, there are no on-premise solutions for MaaS Buyer and Manufacturer Applications implemented. However, in a productive environment this would likely be covered by ERP systems extended with EDCs and respective adapters covering at least a Manufacturing Capability API (for supplier) and a Request for Quotation API (for both, suppliers and buyers). + +#### 5.1.2. APIs + +Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. This connection depends on the capabilities that are offered on the supplier side and that are required on the buyer side. In order to enable the exchange and comparison of both sides, the following APIs were defined, which are based on the corresponding semantic models (cf. Chapter 8.2). + +##### Manufacturing Capability API + +The Manufacturing Capability API defines how to share the manufacturing capabilities, e.g. to onboard them to a Manufacturing Network Registry. The API uses the Manufacturing Capability Model. The Manufacturing Capability model is designed to represent manufacturing capabilities based on the concepts of products, processes, resources and capabilities and their relations to each other (cf. section 8.2.1). + +Find more at [Development View Link](/pages/createpage.action?spaceKey=ARTIV&title=Development+View+Link&linkCreation=true&fromPageId=16799861) + +##### Request for Quotation API + +The Request for Quatation API defines how to communicate the exact requirements, specifications and needs a buyer has for a product, to the supplier. The supplier should be able to make an offer with this information. The API uses the Request for Quotation Model. The Request for Quotation Model defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services (cf. section 8.2.2). + +Find more at [Development View Link](/pages/createpage.action?spaceKey=ARTIV&title=Development+View+Link&linkCreation=true&fromPageId=16799861) + +##### Manufacturing Network Search API + +The Manufacturing Network Search API defines how a Manufacturing Network Registry is supposed to be queried for manufacturers having the manufacturing capabilities to cover a certain (sub-)process. The API uses the Bill of Process Model (cf. section 8.2.3) and certain requirements (e.g. delivery times) for requests and returns a list of matching manufacturer groups. Each group in the result list can potentially cover the requested bill of process while fulfilling the additional requirements. + +##### Process Derivation Service and Instant Quoting API + +The up2parts Public API (Service-specific API) was extended in the project by the Calculation endpoint, among other things, to enable users in Catena-X/MaaS to obtain the necessary process steps for production and a (instant) cost calculation for the production of parts based on uploaded CAD files and additional parameters. + +Find more at + +##### Catena-X Core Components + +As illustrated in the deployment view, the software components of this whitebox will usually be hosted and owned by different companies. Thus, each communication between the components on this whitebox level is protected by [Eclipse Dataspace Connectors (EDCs)](https://eclipse-tractusx.github.io/docs-kits/next/kits/Connector%20Kit/Adoption%20View/connector_kit_adoption_view). Moreover, EDC and asset discovery are applied as described by the [Digital Twin KIT](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit). + +### 5.2 2nd Level Whitebox + +#### 5.2.1 Manufacturing Network Registry + +![Whitebox view of Manufacturing Network Registry](resources/Whitebox%20CDME-2nd%20level%20WB%20Manufacturing%20Network%20Registry.png) + +*Figure - Whitebox view of Manufacturing Network Registry.* + +Further information on the following components of the Manufacturing Network Registry, realized by the Fraunhofer IOSB, can be found on the \*[**Fraunhofer IOSB** ***website***](https://disc-ecosystem.com/)\*or in ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)***. + +| Component | Description | +| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Supplier Knowledge Base | The graph-based Supplier Knowledge Base consists of manufacturing capability information and related data. It contains and links this information within interlinked semantically enriched knowledge graphs. Since it contains the onboarding data submitted by suppliers and ODM platforms (via the Asset Management Service), it enables the matchmaking between offered and required manufacturing capabilities. To achieve this, the Supplier Knowledge Base contains several AI modules for semantic integration and automated linking to autocomplete the graphs. | +| Asset Management and Refinement Application (AMARA) | AMARA is the central user interface and recommender system to enable a supplier to refine its information within the Supplier Knowledge Base. Since this improves the discoverability of the suppliers, it acts as a search engine optimization tool. The semantic mapping and linking of data play a key role for a uniform interpretation of the information in the Supplier Knowledge Base (cf. Section 5.3.1). Specifically, AMARA’s recommender system supports the user in linking its own capabilities to existing ones. For example, the capability “drilling with a drill attachment for metal” can be linked to the capability “metal drilling”. AMARA allows incomplete data to be completed using several AI modules. Thus, AMARA can support suppliers with the onboarding process and the registration of production capabilities in the Supplier Knowledge Base. | +| Asset Management Service (AMS) | The AMS is a micro service providing a GraphQL interface to manage asset information, such as enterprises, factories, processes, manufacturing capabilities and many other types of information within the Supplier Knowledge Base. Among other data, manufacturers and ODM platforms can register, update and delete their manufacturing capabilities via the AMS and are thus discoverable by the Search Engine. The Asset Management Service's GraphQL API is documented here: | +| Search Engine | This micro service processes certain requirements (e.g. delivery times) and bill of process alternatives containing manufacturing capabilities and retrieves manufacturer groups (more specifically, their factories) from the Supplier Knowledge Base which are together able to meet these requirements. The Search Engine thus performs the matchmaking process between offered and required manufacturing capabilities, based on the information provided by these manufacturers. In the context of the CDME prototype, the Search Engine is utilized by the MaaS Portal for searching manufacturers and supply chains for a set of required production processes. For this, the Search Engine contains logic to generate SPARQL queries to navigate through the knowledge graphs in order to discover the desired capabilities. Additionally, the Search Engine calculates the coverage of the requested capabilities according to the found manufacturer sets. | +| Keycloak | Keycloak is an open source software which handels the identity and access management (IAM) for the Manufacturing Network Registry. | +| API Gateway | A security gateway protecting the exposed interfaces from AMS and Search Engine by proxying them and controlling access to them. | + +#### 5.2.2 Marketplace / MaaS Buyer Application - MaaS Portal + +The Siemens MaaS Portal is the prototypical implementation of a federated marketplace in CDME. It is a cloud-based Mendix application and connects offer and demand within a manufacturing network of networks. The prototypical environment also acts as the MaaS Buyer Application. A user account management organizes the access and menu workflow. The MaaS Portal further offers a request configuration, including a user account-specific request history. After searching for potential suppliers, the graphical user interface plots a list of suppliers or shows them in a map view, including all filter criteria information for supplier selection and quotation request. In addition, users can obtain information about the network partners and the onboarding process. The idea is to also offer a marketplace for digital services, supporting the order management and execution process. + +![MaaS Portal](resources/maasPortal.png) + +| component | description | picture | +| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | +| User management | The user management handles the registration of users and administrates their account and login information. It is supporting different user roles like, buyer, supplier and service provider. Currently the buyer usage view has a more detailed and sophisticated workflow with functionality behind, as decribed in the following components for Request management, Request Broker and Result Management. For suppliers, there is an information page with link to onboarding with "SFW Connector". For service provider currently this is just an information page. | ![ ](resources/image-2024-3-12_11-16-17.png)
    ![ ](resources/image-2024-3-12_16-39-0.png) | +| Request management | The request management supports the user (buyer) in the request configuration. The grapical user interface follows a workflow to receive all necessary information to formulate a manufacturing request. To support this process, further services such as the Process Derivation Service (PDS) can be used to generate the required manufacturing process steps (as a workplan or bill of process). Here the Catena-X standard model "Bill of Process" (BoP) can be used. All the request information is formatted to the Catena-X standard model "Request for Quotation" (RFQ).All configured requests of a user are stored in a request history overview and can be reworked or tracked. | ![ ](resources/image-2024-3-12_16-8-26-1.png)
    ![Additive Request](resources/image-2024-3-12_11-29-3-1.png) | +| Request Broker | The request broker spreads the manufacturing request with its required capabilities (BoP) to be matched with the capabilities from onboarded suppliers and to filter, who would be able to fulfill the manufacturing request. This matchmaking is possible through the "Manufacturing Network Registry" (cf. Section 5.2.1).The request broker is then collecting the responses with all information about the matched suppliers and with the decision criteria to be listed as potential suppliers. Therefore the Catena-X standard model "Manufacturing Capability Model" can be used. | | +| Result Management | The result management plots the matched and potential suppliers with all information about the suppliers' request related resources, related capabilities, location, and additional information (e.g. carbon footprint), as a tabled list or on a map. The user (buyer) is able compare the decision criteria, choose his favorite supplier and send his request for quotation to him via the Catena-X standard "Request for Quotation" API. | ![ ](resources/image-2024-3-12_16-21-12-1.png)
    ![ ](resources/image-2024-3-12_16-21-24-1.png) | +| Onboarding management | The onboarding management could manage a list of supplier ids. This could be used for spreading the request for searching and matchmaking, or for listing the request matched potential suppliers, or for sending the request for quotation . Currently the onboarding of new suppliers, single manufacturers or manufacturer networks, is covered by the "Manufacturing Network Registry". Suppliers can therefore use the link to the "SFW Connector" or onboard directly via the API of the Asset Management Service (AMS) | ![ ](resources/image-2024-3-12_16-46-38.png) | +| App management | The idea of the app management is to host digital services, supporting the order management and execution process. Every service provider could upload apps, like the services developed in Catena-X MaaS (e.g. Process Derivation Service, Asset Management Service, Search Engine, Supply Chain Sustainability Service, STEP File splitting service,...) to be validated and to be ready for download. Idea is to couple this with the Catena-X App Store.Currently it is just an information page without any functionality. | ![ ](resources/image-2024-3-12_16-48-15.png) | + +#### 5.2.3 Digital Service - Process Derivation Service + +The Process Derivation Service (PDS) is primarily used to extract a Bill of Process (BoP) from a CAD file (in this case the STEP file format) for subtractive processes like milling and turning. A request to the PDS must contain essential information such as a STEP file, material selection, and tolerance class. Given this information, the up2parts AI algorithm analyzes the part geometry and calculates an optimized BoP, considering factors such as the best raw material and machine resources from the master data available. The resulting BoP consists of multiple work plan proposals encompassing hierarchical process steps, for instance, milling or turning. Furthermore, the probabilities associated with each work plan proposal are calculated and attached, enabling the identification of the best solution. Consequently, these results are returned by the PDS as a response to the service request. + +#### 5.2.4 Digital Service - Instant Quoting + +The Digital Service - Instant Quoting from up2parts enables automated price calculation for production requests. + +1.Instant quoting for suppliers, which uses up2parts calculation (independent of the marketplace): + +Suppliers, with an up2parts calculation license, can use the service to calculate production requests faster and more efficiently. For this purpose, the supplier receives the necessary information for automated calculation within the framework of Catena-X/MaaS via a request using the RFQ API, as: + +- CAD file +- material +- quantity +- tolerance class +- optional post-processing steps + +Based on this information and the up2parts supplier's stored master data (such as machine resources and material costs), the up2parts AI algorithm calculates a price for the production of the requested part. The result can be used by the supplier to submit an offer to the customer more quickly (up to 80%). + +2.Instant quoting as a digital service in combination with the marketplace: + +The instant quoting service from up2parts is integrated into the marketplace as a digital service. When a buyer searches for suitable suppliers for their part in the marketplace, they can also be shown a price directly in addition to information on the supplier's skills and capacities - given the supplier supports the Instant Quoting Service. To do this, the MaaS portal sends a request in the background to the "calculation" endpoint of the up2parts Public API as soon as the buyer has uploaded a component and defined the necessary parameters such as material and quantity. Based on this information and the supplier's master data (such as machine resources and material costs) from the Manufacturing Network Registry, the up2parts AI algorithm calculates a price for the production of the requested part. The returned price information is then displayed together with the other supplier data in the marketplace, thus increasing price transparency for the buyer. + +In summary, the Instant Quoting Service from up2parts enables automated price calculation for production requests. Furthermore, with the integration into the marketplace benefits not only up2parts customers, but also all participating suppliers and buyers through increased price transparency during the search for suitable manufacturing partners. + +#### 5.2.5 Manufacturing Network Platform - Onboarding of up2parts suppliers via the Asset Management Service + +up2parts suppliers can transfer their registered manufacturing capabilities from the up2parts cockpit database with just one click in the Supplier Knowledge Base via the Asset Management Service (part of the Manufacturing Network Registry, see Section 5.2.1), to be found via the search engine within Catena-X/MaaS if they match the process capability searched for. This enables up2parts suppliers/customers to receive production requests from Catena-X/MaaS and participate from it, to increase their production capacity utilization. The manufacturing capabilities automatically update in the Supplier Knowledge Base when new resources are added or existing resources change. + +#### 5.2.6 Digital Service - Supply Chain Sustainability Service + +The Supply Chain Sustainability Service (SCSS) \[\] from the Fraunhofer IOSB enables the request of comparable, transparent, and linked sustainability information, including product carbon footprint (PCF), corporate carbon footprint (CCF), water consumption, conflict minerals, certifications, standards, and other information required for transparent sustainability assessments along supply chains. Via a defined REST API, services and platforms can query such sustainability information on products, companies, and countries. The SCSS then retrieves the requested information from the Sustainability Knowledge Base. This also includes the required arguments and meta-information to make the results comparable. The SCSS and the Sustainability Knowledge Base are based on a uniform semantic sustainability model, which enables the comparability of sustainability data/assessments based on standards, calculation methods, and indicators. In the context of MaaS, the SCSS is used by the MaaS Portal to query sustainability information on the found manufacturers to supplement the result view and enable further filtering. \[; \] + +#### 5.2.7 MaaS Manufacturer Application - SFW Connector + +The SFW Connector \[\] from the Fraunhofer IOSB is an application (available in two options: on premise, and “as a service” via a cloud version) that enables and simplifies the exchange of information with dataspace services and applications within dataspaces. This is possible because the SFW Connector generically connects APIs with other APIs (source API to target API) and lightweight content management applications. A hybrid approach to communicate with external APIs via a combination of manual and automatic application interfaces is supported. In the future, the SFW Connector will integrate an EDC to support communication across dataspaces. To support common organizational structures and scale to any organizational size, SFW Connectors can act as relays for other SFW Connectors and expose connected (internal) APIs. + +In the context of MaaS, the SFW Connector is used as the application for registering the manufacturing capabilities of participating manufacturers. Companies can map different data sources, such as CSV (comma-separated values) files, Asset Administration Shell (AAS), and JSON (JavaScript Object Notation) to a defined target schema. The latter can be the GraphQL schema of the Asset Management Service (cf. Section 5.2.1) to onboard manufacturing capabilities, so that the SFW Connector user can be found via the Search Engine, which buyers indirectly use when searching for manufacturers via the MaaS Portal. + +### 5.3 3rd Level Whitebox + +#### 5.3.1 Supplier Knowledge Base + +The Supplier Knowledge Base contains several levels of onologies. The implementation of the most important ontologies follows the following specification: + +The first ontology level consist of general concepts required within an MaaS ecosystem. + +![First-level ontology applied to the Supplier Knowledge Base](resources/image-2023-11-2_11-9-8.png) + +*Figure - First-level ontology applied to the Supplier Knowledge Base. (Schoeppenthau et al. 2023).* + +The second ontology level is specific for certain aspects within MaaS. E.g. there are representations of interpretations of supply chains and digital product passports. + +![One of the mid-level ontologies applied to the Supplier Knowledge Base](resources/image-2023-11-2_11-9-27.png) + +*Figure - One of the mid-level ontologies applied to the Supplier Knowledge Base. (Schoeppenthau et al. 2023).* + +## 6 Runtime View + +The following runtime diagrams assume that the participants already have been onboarded to Catena-X and are in possession of their Business Partner Numbers (BPN). + +>EDC and Digital Twins +> +> Note that detailled runtime sequences can be found in the official [EDC](https://eclipse-edc.github.io/docs/#/), [BPMN](https://eclipse-tractusx.github.io/docs-kits/kits/Business%20Partner%20Kit/Documentation%20BPDM/bpdm_arc42#runtime-view) and [Digital Twin](https://eclipse-tractusx.github.io/docs-kits/category/digital-twin-kit/) documentation. + +### 6.1 Federated Marketplace + +The major use case for the CDME is a federated, multi-domain MaaS marketplace which acts as a service broker for manufacturing service user (buyer) and the following services: Process Derivation Service, Manufacturing Network Registry , Supply Chain Sustainability Service. Embedded in the data sourvereignty concept of Catena-X, a manufacturing service user's demand will be handled as described in the following diagram. + +First, the demand and therefore the request to potential suppliers will be configured via a GUI (step 0 and 1). To match the demand to the necessary manufacturing capabilities, production process-relevant information is needed. The buyer can decide to let the Process Derivation Service (PDS) derive this information from a design document (steps 2 and 5). In any case, the respective MaaS Buyer Application (MBA) will receive the necessary information to later contact the Manufacturing Network Registry (MNR, cf. steps 3 and 4) via the Catena-X dataspace. + +**If the buyer decides to use the PDS**, the MBA is provided with the information to contact the PDS via the Catena-X dataspace (step 7). Subsequently, the MBA resolves the EDC of the PDA using the BPN and starts the negotiation for usage policies regarding the PDS API, identified by the received asset ID (step 6). With access the the PDS's API, the MBA posts its request in step 11, including intellectual property, e.g. a STEP file. The PDS interprets the input and calculates process alternatives (step 12) which it sends to the MBA in response to the request (step 13). + +**If the buyer decides to forgo PDS usage**, they have to provide process relevant information via a wizard (steps 8 and 9). This information is than used by the Marketplace to create process alternatives. + +In any case, the MBA will have process alternatives available in step 14 and can start to resolve the MNR's EDC. Next, the MBA negotiates the access to the MNR API (more concrete the search API) analogously to the negotiation with the PDS (step 14). When the MBA gained access to the MNR API, it posts a search request to the MNR including the process alternatives and a callback to the Marketplace (steps 15 and 16). The MNR then performs the matchmaking to identify manufacturer groups where each group can provide one of the process alternatives (step 17). Using the callback, these groups are sent to the Marketplace (steps 18 and 19). The Marketplace iterates over the received manufacturers and extends them with sustainability information using the Supply Chain Sustainability Service (steps 21-24 and 27), where the EDC resolvement, negotiation and requests follow the same pattern as in the previously described requests. Consequently, the Marketplace receives all necessary information about the manufacturers and their grouping and views this information in a graphical result view (step 26). Afterwards, the buyer select the manufacturer groups to sent a Request for Quotation to (step 25). Finally, in steps 28-30 the Requests for Quotation are distributed using the same pattern as before. In doing so, the RFQs are enhanced with intellectual property by the MBA similar to the PDS request. + +**If the buyer decides to use the Instant Quoting Service**, the request for quotation, including intellectual property such as the STEP file and required meta information such as resources, is sent to the instant quote service to start the instant quote process for supported suppliers. The results will then be sent back to the marketplace to display the price to the buyer. (Steps 31-35) + +**If the supplier decides to use the Instant Quoting Service,** the instant quoting process will be started and calculates a price for the production of the requested part. The result can be used by the MaaS Manufacturer Application (MMA) to start an individual RFQ generation process and to submit an offer to the customer more quickly. This could be a workflow of an ODM platform or an entirely manual workflow within the administration of a SME. (steps 36-39) + +![Swim lane diagram of a buyer journey in the Federated Marketplace use case](resources/Unbenanntes%20Diagramm.drawio.png) + +*Figure - Swim lane diagram of a buyer journey in the Federated Marketplace use case.* + +Note that the buyer as the data owner always acts as the data provider and does not have to allow the transfer of data to any third party. + +### 6.2 Manufacturer Onboarding + +For manufacturer onboarding, a Manufacturing Capability Digital Twin (DT) has to be provisioned (cf. following Figure step 0). Next, a BPN and asset ID has to be registered at the MNR. This step (step 1) can be covered by multiple alternative solutions and is therefore not described in more detail. A possible solution would be a GUI of the Manufacturing Network Registry (MNR) where Manufacturers can insert the two identifiers. However, depending on the type of provisioning, the BPN can refer to a Manufacturing Network Platform's operator or the Manufacturer itself (see Manufacturing Capability DT Provisioning for more details). In any case, in step 2, the MNR resolves the EDC for the BPN and starts the negotiation for the DTR asset. If the negotiation was successful, the MNR retrieves the Manufacturing Capability DT (for this the DTR is queried to get the respective submodel endpoint). Finally, the MNR registers the data from the DT in step 4 and the onboarding is complete. + +![Swim lane diagram of the manufacturer onboarding](resources/Swim%20Lane%20Diagrams%20Federated%20Marketplace-Manufacturer%20Onboarding.png) + +*Figure - Swim lane diagram of the manufacturer onboarding.* + +The Manufacturing Capability DT Provisioning, depicted in the following figure, depends on whether a Manufacturing Capability DT is already available and if so, whether it should be registered at a Manufacturing Network Platform (MNP) or not. In case it is available and should be registered, the manufacturer's BPN and the DT's asset ID will be stored in the MNP (steps 4 and 5). If there is no DT available yet, the Manufacturer has to decide whether it should be self-hosted or not. If the DT should be self-hosted, the Manufacturer uses the MMA's user interface to manually add the required data or connect the MaaS Manufacturer Application (MMA) to the respective data sources (steps 0-1). The MMA has to be able to transform that data into a Manufacturing Capability Digital Twin, host the DT and add it to the Manufacturer's DTR wich in turn will be registered at the Manufacturer's EDC (steps 1-3). Alternatively, the MNP can be used to create and host the DT (if the MNP supports this feature, cf. steps 6 and 7). If the MNP hosts the DT, the MNP BPN and the DT's asset ID will be provided to the manufacturer (step 8). If there is a DT available, the manufacturer can also decide against hosting it at an MNP and use it directly, e.g. for Manufacturer Onboarding at the Manufacturing Network Registry. + +![ ](resources/Swim%20Lane%20Diagrams%20Federated%20Marketplace-Manufacturing%20Capability%20DT%20Provisioning.png) + +*Figure - Swim lane diagram of the Manufacturing Capability DT provisioning needed for manufacturer onboarding.* + +## 7 Deployment View + +![ ](resources/Deployment%20View.png) + +*Figure - Deployment view of CDME which allocates corporate borders to the components to demonstrate that all components can an will most likely be operated by different companies.* + +## 8 Crosscutting Concepts + +### 8.1 Information Categories + +In an MaaS ecosystem, data is exchanged between different stakeholders. Service providers exchange data so that buyers and manufacturers can use the required functionalities of an industrial marketplace. Manufacturers need to register their production capabilities so that they can be found by buyers. Buyers make specific production requests, which are interpreted and matched with suitable manufacturers and supply chains. In the context of these processes, different information categories and objects are exchanged, as introduced in this section. + +| Information Category | Definition from ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)*** | +| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Asset** | An Asset is a physical or logical object (Entity) owned by or under the custodial duties of an organization, having either a perceived or actual value to the organization. An Asset inherits relations from an Entity. | +| **Entity** | An Entity is a concept which represents the commonalities of a Process, an Asset, and Capability. Each Entity may possess Properties and Semantic References. | +| **Property** | A Property is an attribute of an Entity which might - but does not need to possess - data. | +| **Semantic Reference** | A reference to an arbitrary globally uniquely identifiable semantic. | +| **Process** | A Process is a set of interacting operations in a system by which matter, energy, or information is transformed, transported, or stored. A Process may contain sub-processes. A Process is a set of process steps or a single process step. A Process inherits relations from an Entity. | +| **Product** | A Product is a material good or an (immaterial) service offering which is an outcome (output product) or an input (input product) of a Process. A Product inherits relations from an Entity and an Asset. | +| **Product Class** | A Product Class is a group of Products which share characteristics. | +| **Factory** | A Factory is either a physical or a virtual production plant acting as container for Production Resources and Products. It has the child concepts Virtual Factory and Physical Factory. A Factory inherits relations from an Entity and an Asset. | +| **Physical Factory** | A PhysicalFactory is a physical production plant acting as container for ProductionResources and Products. A Physical Factory inherits relations from an Entity, an Asset, and a Factory. | +| **Virtual Factory** | A VirtualFactory is a container for ProductionResources and products which cannot be associated to a Physical Factory. A Virtual Factory inherits relations from an Entity, an Asset, and a Factory. | +| **Enterprise** | An Enterprise is an organization, a company, or a business containing Factories. An Enterprise inherits Properties from an Entity and an Asset. | +| **Production Resource** | A ProductionResource is a functional unit needed to perform required operations. It differs from other resources, such as energy or raw materials. It inherits relations from an Entity and an Asset. A ProductionResource is an Asset that provides the Capabilities which are required for performing a particular process step on a Product. | +| **Capability** | A Capability is an Entity which represents a designated function to achieve an effect in the physical or virtual world. Capability inherits relations from Entity. | +| **Bill of Process (BoP)** | A BoP is a structure that shows different Processes and their relationships for manufacturing a Product. BoP is a list of Processes required for the manufacturing of a Product. | +| **Bill of Materials (BoM)** | A BoM consists of the data that identifies the items or raw materials used to produce any physical thing, whether that thing is a structure or a Product. It is a list of input products (including product properties) for a given manufacturing Process. | +| **Supply Chain** | A supply chain comprises the exchange of materials and information in the logistics process, from the procurement of raw materials to the delivery of finished Products to the end consumer. | +| **Supply Chain Element** | An Element of a Supply Chain that represents suppliers, factories, or a logistics provider. | +| **Product Passport** | The digital Product Passport is a key emerging technology within a digital ecosystem used to track and monitor product Properties throughout business processes in a sustainable economy. | +| **Human Resource** | A Human Resource is a human Production Resource that inherits all the Properties from a Production Resource. | +| **Machine** | A Machine is a Production Resource which represents a physical system using power to apply forces and control movement to perform an action, and it inherits all the Properties from a Production Resource. | +| **Location** | A Location is a container for location relevant information, such as addresses and geocoordinates. It may be referenced from an Asset. | + +For these information classes, ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396)*** describes a multi-level ontological representation that has been applied to the Supplier Knowledge Base (cf. section 5.3.1). + +### 8.2 Datamodels and Semantics + +The knowledge of manufacturing capabilities is based on extensive knowledge from different distributed sources in various fields of expertise and interoperability of systems utilizing and managing this information is a major issue. The reason for this is that the majority of these systems use their own proprietary data structures and vaguely describe semantics, as well as different interpretations of the terms used and applied to describe the capabilities. For this reason, the CDME architecture does not rely on standardized semantics. However, basic concepts, e.g. the mentioned information categories, are defined as aspect models, to provide a common semantics where appropriate. + +#### 8.2.1 Manufacturing Capability Model + +An aspect model representing manufacturing capabilities, based on the concepts for products, processes, machines, machine tools, capabilities and certificates as well as their relations to each other. Sharing information about the required and available manufacturing capabilities in an interoperable manner is fundamental for any MaaS solution providing basic and value-added services such as automated search and matchmaking. + +Link to the semantic data model: + +**Sample Data:** + +```json +{ + "machineTools" : [ { + "canProcessMaterials" : [ { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ] + } ], + "processes" : [ { + "billOfProcessIdentification" : "www.1234-bar-chair-billOfProcess.de" + } ], + "machines" : [ { + "containsTools" : [ { + "canProcessMaterials" : [ { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ] + } ], + "label" : { + "en" : "aluminum" + }, + "provides" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "capabilityConstraintSet" : [ { + "capabilityConstraintProperties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "refersToMaterial" : { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "label" : { + "en" : "aluminum" + }, + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "@type" : "MaterialEntity" + } + } ], + "capabilityId" : "urn:manufacturing-capability:capability:42", + "capabilityLabel" : { + "en" : "sawing" + }, + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "capabilities" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "capabilityConstraintSet" : [ { + "capabilityConstraintProperties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "refersToMaterial" : { + "belongsToMaterialFamilies" : [ { + "specializes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "label" : { + "en" : "aluminum" + }, + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "@type" : "MaterialEntity" + } + } ], + "capabilityId" : "urn:manufacturing-capability:capability:42", + "capabilityLabel" : { + "en" : "sawing" + }, + "label" : { + "en" : "aluminum" + }, + "generalizes" : [ { + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4" + } ], + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "hierarchyElementId" : "urn:manufacturing-capability:material-family:4", + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ] + } ], + "certificates" : [ { + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ], + "products" : [ { + "properties" : [ { + "semanticReferences" : [ { + "semanticReferenceId" : "urn:eclass:0173-1#02-AAF583#002" + } ], + "propertyLabel" : { + "en" : "nominal voltage" + }, + "propertyValue" : "220" + } ], + "label" : { + "en" : "aluminum" + } + } ] +} +``` + +#### Version 3.1.0 + +This is the current standardized version of the model. + +![Manufacturing Capability Model](resources/Manufacturing_Capability_Model.png) + +*Figure - Manufacturing Capability Model [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability/3.1.0)* + +### 8.2.2 Request for Quotation Model + +An aspect model defining detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. Sharing information about the demand with all required configuration and contact data is necessary for potential suppliers to evaluate the request and formulate an offer. A common description of the request for quotation based on a standardized semantic definition is therefore key for facilitating such an information exchange between Catena-X participants. This ensures an open network for every Catena-X member to join and enables interoperability between the partners. + +Link to the semantic data model: + +**Sample Data:** + +```json +{ + "rfqConfiguration" : { + "firstDeliveryDate" : "2023-10-24", + "additionalFiles" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "cadFile" : { + "fileName" : "fraesteil", + "fileObject" : { }, + "fileType" : "STEP, stl, jt", + "filePath" : "https://anypath/..." + }, + "additionalComments" : "this is a prototype, recommendations towards design for manufacturing are highly welcome", + "parts" : { + "generalTolerance" : "ISO 2768-1 (m), Rough DIN ISO 2768 cL, Medium DIN ISO 2768 mK, Fine DIN ISO 2768 fH", + "manufacturingDomain" : "additive manufacturing", + "material" : { + "materialFamily" : "aluminum, steel, ...", + "materialProperties" : { + "value" : "2.7 or black", + "propertyName" : "density or color", + "valueType" : "g/cm3 or string" + } + }, + "partId" : "Drehteil", + "additionalRequirements" : "premium quality check, standard quality check", + "partQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "billOfProcess" : { + "process" : [ { + "capabilityId" : "urn:manufacturing-capability:capability:42", + "childProcessSteps" : [ "pick" ], + "precedenceRelation" : [ { + "precedenceElements" : [ { + "successor" : [ "TransportStepId" ] + } ] + } ], + "processStepIdentifier" : [ "1234-transport" ], + "inputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ], + "processStepType" : "IsFirstElement", + "outputParameters" : [ { + "name" : "dimensionality", + "parameterKey" : "HasValue", + "valueRangeList" : [ { + "name" : "dimensionality", + "lowerValue" : "5", + "upperValue" : "10" + } ], + "semanticReference" : [ "0173-1#02-BAD875#008" ], + "tolerances" : [ { + "name" : "dimensionality", + "upperLimit" : "5.1", + "lowerLimit" : "4.9" + } ], + "value" : "{\\\"height\\\" : \\\"5\\\", \\\"length\\\" : \\\"3\\\", \\\"width\\\" : \\\"7\\\"}" + } ] + } ], + "productVersion" : "bar_chair_1.0.0", + "billOfProcessIdentification" : "www.1234-bar-chair-billOfProcess.de", + "version" : "2.0.0", + "productName" : "Bar Chair" + }, + "partName" : "Drehteil" + }, + "orderQuantity" : { + "quantityNumber" : 2.5, + "measurementUnit" : "unit:litre" + }, + "lastDeliveryDate" : "2023-12-24" + }, + "rfqIdentification" : { + "rfqVersion" : "1.0.0", + "rfqName" : "Drehteil", + "rfqDateTime" : "2023-10-24T14:48:54.709Z", + "rfqSource" : "https://maasportal.mendixcloud.com/", + "rfqId" : "Drehteil_02_0815" + }, + "cxHeader" : { + "senderBpn" : "BPNL7588787849VQ", + "relatedMessageId" : "d9452f24-3bf3-4134-b3eb-68858f1b2362", + "expectedResponseBy" : "2023-06-19T21:24:00+07:00", + "context" : "urn:samm:io.catenax.:1.x.x", + "messageId" : "3b4edc05-e214-47a1-b0c2-1d831cdd9ba9", + "receiverBpn" : "BPNL6666787765VQ", + "sentDateTime" : "2023-06-19T21:24:00+07:00", + "version" : "2.0.0" + }, + "rfqSender" : { + "deliveryRequirements" : "no plastic for packaging", + "senderName" : "John Doe", + "senderPhoneNumber" : "555 123456", + "senderEMail" : "johndoe@sunny.com", + "senderDeliveryAddress" : "Mystreet 1, 1234 Mystate", + "senderAdress" : "Sunstreet 1, 5555 Sunstate", + "senderAccountAddress" : "Accountstreet 1, 1234 Accountstate", + "senderCompanyName" : "ManufactureEnterprise" + } +} +``` + +![RFQ](resources/RFQ.png) + +### 8.2.3 Bill of Process Model + +The Manufacturing Capability Model as well as the Request For Quotation Model reference the Bill of Process data model from the Modular Production KIT (Link: ), which describes the best-practice approach for produrcing a product, includin detailed information about processes, process precendence, and process parameters. + +Link to the semantic data model: [https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.bill_of_process/1.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation/3.0.0) + +![Bill of Process data model](resources/bill_of_process_datamodel.drawio.png) + +### 8.2.4 Manufacturer Sets + +The Manufacturing Network Registry responds to queries with manufacturers matching the request. These manufacturers are clustered in manufacturer sets. One manufacturer set can meet the requirements of the request together, although single manufacturers within that group couldn't. The manufacturers within a set are modeled using the Manufacturing Capability Model (cf. section 8.2.1). + +**Sample Data (response of the Search Engine):** + +```json +{ + "data": { + "searchByUp2PartsWorkplan": { + "code": 200, + "success": true, + "message": "Success! We found some supplier sets for you.", + "supplierSets": [ + { + "result": [ + { + "factory": { + "id": "https://www.smartfactoryweb.de/graph/SfwAms#2a798e7f-498d-4056-bcf7-d4a0243c620e", + "label": "CRAFTPART", + "description": "Fictional factory" + }, + "fieldSpecificResults": [ + { + "code": 268567043 + } + ] + }, + { + "factory": { + "id": "https://www.smartfactoryweb.de/graph/SfwAms#40fad2ad-56fb-4ccb-913a-76a96417bdd3", + "label": "SAWmaster", + "description": "Fictional factory" + }, + "fieldSpecificResults": [ + { + "code": 268501507 + } + ] + } + ], + "coverageDepth": 1.0, + "coverageSteps": 1.0 + }, + { + "result": [ + { + "factory": { + "id": "https://www.smartfactoryweb.de/graph/SfwAms#92684210-934d-4082-8c53-1c6cbd6d6bcb", + "label": "mipart GmbH", + "description": "mipart GmbH" + }, + "fieldSpecificResults": [ + { + "code": 268567043 + } + ] + } + ], + "coverageDepth": 1.0, + "coverageSteps": 1.0 + } + ] + } + } +} +``` + +## 9 Architecture Decisions + +| | | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Sovereignty | The buyer as the data owner always acts as the data provider as well and does not have to allow the transfer of data to third parties. Therefore, service brokers (e.g. marketplaces) build queries to digital services, for buyer applications, instead of querying the services directly and transferring the buyer's data to them. | +| Federation | The manufacturing capabilities are stored within the Manufacturing Network Registry instead of following a complete distributed approach. For the scientific background of this decision the reader is referred to ***[Building a Digital Manufacturing as a Service Ecosystem for Catena-X](https://doi.org/10.3390/s23177396).*** | +| Dataspace | CDME is a Catena-X embedding of the dataspace-agnostic Smart Factory Web reference architecture. As such, it supports the Catena-X technology stack, but can also be connected to other dataspaces. This is necessary, because CDME is supposed to support the full range of manufacturing supply chains. Therefore, lock-in effects have to be omitted and suppliers commited to other dataspaces have to be included as well. | diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/1st level whitebox marketplace use case.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/1st level whitebox marketplace use case.png new file mode 100644 index 00000000000..1ba1cb0be37 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/1st level whitebox marketplace use case.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Deployment View.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Deployment View.png new file mode 100644 index 00000000000..67b2eb6321f Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Deployment View.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Manufacturing_Capability_Model.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Manufacturing_Capability_Model.png new file mode 100644 index 00000000000..dbe15582bb3 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Manufacturing_Capability_Model.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/MarketplaceUseCases.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/MarketplaceUseCases.png new file mode 100644 index 00000000000..9a48745c013 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/MarketplaceUseCases.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/RFQ.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/RFQ.png new file mode 100644 index 00000000000..15eebd1702e Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/RFQ.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Reference Architecture - Functional Layer.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Reference Architecture - Functional Layer.png new file mode 100644 index 00000000000..161d76aa580 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Reference Architecture - Functional Layer.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturer Onboarding.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturer Onboarding.png new file mode 100644 index 00000000000..938284a5755 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturer Onboarding.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturing Capability DT Provisioning.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturing Capability DT Provisioning.png new file mode 100644 index 00000000000..e66c86aa4f7 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Swim Lane Diagrams Federated Marketplace-Manufacturing Capability DT Provisioning.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/System Scope.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/System Scope.png new file mode 100644 index 00000000000..1d05ee3d8b3 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/System Scope.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Unbenanntes Diagramm.drawio.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Unbenanntes Diagramm.drawio.png new file mode 100644 index 00000000000..f84b4057dde Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Unbenanntes Diagramm.drawio.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Whitebox CDME-2nd level WB Manufacturing Network Registry.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Whitebox CDME-2nd level WB Manufacturing Network Registry.png new file mode 100644 index 00000000000..9611118d8f8 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/Whitebox CDME-2nd level WB Manufacturing Network Registry.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/bill_of_process_datamodel.drawio.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/bill_of_process_datamodel.drawio.png new file mode 100644 index 00000000000..d05602964ad Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/bill_of_process_datamodel.drawio.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-27.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-27.png new file mode 100644 index 00000000000..a5b6ced12c1 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-27.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-8.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-8.png new file mode 100644 index 00000000000..5ac6aa5b5b5 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_11-9-8.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_13-54-35.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_13-54-35.png new file mode 100644 index 00000000000..df092abecbf Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_13-54-35.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_14-7-37.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_14-7-37.png new file mode 100644 index 00000000000..47e3746b13f Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_14-7-37.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_15-54-33.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_15-54-33.png new file mode 100644 index 00000000000..d953bb0716e Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2023-11-2_15-54-33.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-16-17.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-16-17.png new file mode 100644 index 00000000000..dabafbeb2b6 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-16-17.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-29-3-1.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-29-3-1.png new file mode 100644 index 00000000000..8e2af08dcc3 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_11-29-3-1.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-12-1.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-12-1.png new file mode 100644 index 00000000000..fc9a2a862b0 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-12-1.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-24-1.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-24-1.png new file mode 100644 index 00000000000..33e2614cbc4 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-21-24-1.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-39-0.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-39-0.png new file mode 100644 index 00000000000..dcbd00740ff Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-39-0.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-46-38.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-46-38.png new file mode 100644 index 00000000000..2b825cdfba9 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-46-38.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-48-15.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-48-15.png new file mode 100644 index 00000000000..572441bc29a Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-48-15.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-8-26-1.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-8-26-1.png new file mode 100644 index 00000000000..185228b6260 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/image-2024-3-12_16-8-26-1.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/maasPortal.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/maasPortal.png new file mode 100644 index 00000000000..c8b9f6a0c84 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/maasPortal.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/overview.png b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/overview.png new file mode 100644 index 00000000000..0707baaf437 Binary files /dev/null and b/docs-kits/kits/Manufacturing as a Service Kit/Software Development View/resources/overview.png differ diff --git a/docs-kits/kits/Manufacturing as a Service Kit/page_adoption-view.md b/docs-kits/kits/Manufacturing as a Service Kit/page_adoption-view.md index 134c9c2df36..d6c8fb562ee 100644 --- a/docs-kits/kits/Manufacturing as a Service Kit/page_adoption-view.md +++ b/docs-kits/kits/Manufacturing as a Service Kit/page_adoption-view.md @@ -11,140 +11,96 @@ sidebar_position: 2 ## Vision & Mission -Enable interoperable, federated network of networks linking manufacturing demand with manufacturing capabilities for -digitally enabling manufacturing as a service. +**Enable interoperable, federated network of networks linking manufacturing demand with manufacturing capabilities to enable digital manufacturing as a service**. -Comprehensive reference architecture with standardized interfaces for on-demand manufacturing +**Comprehensive reference architecture with standardized interfaces for on-demand manufacturing**. -The Manufacturing-as-a-Service (MaaS) KIT defines the mechanisms and services required for an interoperable, federated -network of networks where manufacturing demand meets manufacturing capabilities. The Catena-X Digital Manufacturing as a -Service Ecosystem (CDME) provides a comprehensive reference architecture with standardised interfaces and data models, -including first implemented services, to present the operational network of networks with a single entry point into the -world of domain-independent on-demand manufacturing (ODM). The main focus is on the mediation of manufacturing demand -and manufacturing supply, which is offered in a service- orientated manner. In addition, IT services enable connectivity -and process automation to be part of this digital marketplace. +The Manufacturing-as-a-Service (MaaS) KIT defines the mechanisms and services required for an interoperable, federated network of networks where manufacturing demand meets manufacturing capabilities. The Catena-X Digital Manufacturing as a Service Ecosystem (CDME) provides a comprehensive reference architecture with standardized interfaces and data models, including first implemented services, to present the operational network of networks with a single entry point into the world of domain-independent on-demand manufacturing (ODM). The main focus is on the mediation of manufacturing demand and manufacturing supply, which is offered in a service-orientated manner. In addition, IT services enable connectivity and process automation to be part of this digital marketplace. ## Business Value +### Stakeholder Benefit + +Stakeholders of a Manufacturing-as-a-service ecosystem are on the one hand consumers, who need support in manufacturing process steps, here called buyers, and on the other hand suppliers, who provide manufacturing tasks, here single manufacturers, supplier networks and on-demand-manufacturing (ODM) platforms. In addition, there are digital service providers, supporting in process automation. +Buyers should get an easy access to a multi-domain network of networks, not limited to before known suppliers and not forced to be registered at several domain-specific networks or ODM platforms. They can use standardized formats and communication channels that are not subject to the heterogeneous restrictions defined by the supplier, and they are guided in defining their requirements and preparing all the necessary information to obtain a reliable offer. +Suppliers get higher visibility with company promotion on digital marketplaces to be automatically found by new customers with capability tailored manufacturing requests and reduced time-consuming and expensive offering effort. They get access to supporting services like instant quoting or production planning and they achieve an increased utilization of free capacities. +Service providers get a new market platform for services supporting Manufacturing-as-a-Service processes, like part analyzing and work plan derivation, manufacturing process depending step file splitting, instant quoting or connectivity to the network. + ### Reference architecture -The reference architecture includes standardized and tested interfaces and data models that can be used for the -development and implementation of Manufacturing-as-a-Service solutions (Chapter 4 of Whitepaper). +The reference architecture includes standardized and tested interfaces and data models that can be used for the development and implementation of Manufacturing-as-a-Service solutions (Chaper 4 of Whitepaper). + +### Standards + +Standardizing the necessary interfaces and data models of our architecture enables to exchange data with different systems and users and to extend the reference architecture with additional services, replace certain individual services with equivalent ones or to remove optional services. +Within the Manufacturing-as-a-Service KIT, two main standards were defined: + +- [Manufacturing Capability Model and API](#standards-1) - for declaration of offered and required manufacturing capabilities +- [Request for Quotation Model and API](#standards-1) - for manufacturing demand configuration ### First implemented example services and applications -There are several demonstrators and services that provide different building blocks within the reference architecture -and support the workflow of a MaaS marketplace for customers. +There are several demonstrators and services that provide different building blocks within the reference architecture and support the workflow of a MaaS marketplace for customers. - SFW Connector - for manufacturer onboarding of their offered capabilities - Supplier Knowledge Base - knowledge base for supplier information including capabilities - Asset Management Service - register, update and delete manufacturing capabilities -- Asset Management and Refinement Application (AMARA) - central user interface and recommender system to enable a - supplier to refine its information within the Supplier Knowledge Base -- Sustainability Knowledge Base - knowledge base for manufacturer sustainability information (including certifications, - PCF, CCF, etc.) +- Asset Management and Refinement Application (AMARA) - central user interface and recommender system to enable a supplier to refine its information within the Supplier Knowledge Base +- Sustainability Knowledge Base - knowledge base for manufacturer sustainability information (including certifications, PCF, CCF, etc.) - Supply Chain Sustainability Service - collects information for a supply chain from the Sustainability Knowledge Base -- SFW Search Engine - performs the matchmaking process between the manufacturer and the buyer, based on the information - provided by these manufacturers +- SFW Search Engine - performs the matchmaking process between the manufacturer and the buyer, based on the information provided by these manufacturers - Process Derivation Service - to derive required manufacturing processes - STEP File splitting service - to split assembly products in single part components -- MaaS Portal - GUI application for demand configuration and supplier selection +- MaaS Portal - GUI appplication for demand configuration and supplier selection +- Digital Service Instant Quoting - enables automated price calculation for production requests ## UseCase / Domain explanation -MaaS in Catena-X concentrates on the matchmaking between the manufacturing capability demand and the -offered manufacturing capability. - -The goal is a federated marketplace for manufacturing as a service, connecting single manufacturers and on- demand -manufacturing platforms over different manufacturing domains, including the support in digitalization and automation by -provided services supporting specific steps in the offering process. Manufacturers who want to offer their manufacturing -resources as a service, will do so by onboarding their manufacturing capabilities directly to the federated marketplace -or to existing on-demand manufacturing platforms or networks. Capabilities include knowledge of the factories, e.g., -machinery, employee expertise, past production outputs and processes, capability terms like “band sawing”, -certifications, etc. Buyers search for the manufacturing capabilities they need to produce a specific product (usually -parts or assemblies). This can include individual manufacturing steps to cover missing capabilities related to existing -productions or even fully external production offers. Both the ODM platform and the marketplace can perform the -necessary matchmaking between required and offered capabilities. Typically, the ODM platforms offer the production of a -specific part and often act as manufacturers, whereas the marketplace only offers the production by an arbitrary number -of manufacturers. However, both may utilize additional IT or engineering services to provide their customers with added -values such as onboarding application, automated process derivation or sustainability services. A federated marketplace -not only offers manufacturing capabilities registered directly by the manufacturers, but also capabilities registered -with ODM platforms. As a result, a network of networks is built, which connects different networks of manufacturers ( -according to their capabilities) and different domains. This approach enables a single-entry point to the network of -networks via the marketplace. - -![Marketplace use case overview (Schoeppenthau et al. 2023)](resources/MarketplaceUseCases.png) -*Marketplace use case overview (Schoeppenthau et al. 2023)[^1]* +MaaS in Catena-X concentrates on the matchmaking between the manufacturing capability demand and the offered manufacturing capability. + +The goal is a federated marketplace for Manufacturing-as-a-Service, connecting single manufacturers and on-demand manufacturing platforms over different manufacturing domains, including the support in digitalization and automation by provided services supporting specific steps in the offering process. Manufacturers who want to offer their manufacturing resources as a service, will do so by onboarding their manufacturing capabilities directly to the federated marketplace or to existing on-demand manufacturing platforms or networks. Capabilities can include knowledge of the factories, e.g., machinery, employee expertise, past production outputs and processes, capability terms like “band sawing”, certifications, etc. Buyers search for the manufacturing capabilities they need to produce a specific product (usually parts or assemblies). This can include individual manufacturing steps to cover missing capabilities related to existing productions or even fully external production offers. Both the ODM platform and the marketplace can perform the necessary matchmaking between required and offered capabilities. Typically, the ODM platforms offer the production of a specific part and often act as manufacturers, whereas the marketplace only offers the production by an arbitrary number of manufacturers. However, both may utilize additional IT or engineering services to provide their customers with added values such as onboarding application, automated process derivation or sustainability services. A federated marketplace not only offers manufacturing capabilities registered directly by the manufacturers, but also capabilities registered with ODM platforms. As a result, a network of networks is built, which connects different networks of manufacturers (according to their capabilities) and different domains. This approach enables a single-entry point to the network of networks via the marketplace. + +![Marketplace use case overview (Schoeppenthau et al. 2023)](resources/MarketplaceUseCases.png) + +*Marketplace use case overview (Schoeppenthau et al. 2023)[^1].* ## Whitepaper -To empower MaaS for the automotive industry we built a reference architecture of a digital MaaS ecosystem based on a -dataspace-agnostic reference architecture for open, sustainable, and resilient digital manufacturing ecosystems. To -perform the capability matchmaking and capability data integration, the prototypical implementation of this reference -architecture consists of components for smart semantic integration to bridge the semantic gap between different -manufacturing capability descriptions, as well as a search engine and a multi- purpose API connector. Furthermore, the -standardization of interfaces and data models for the most relevant communication within the architecture ensures -exchangeability of and interoperability between all major components. This prevents the vendor lock-in effect, enables a -market for MaaS services and opportunities for interested operating companies. The architecture fully supports existing -manufacturing networks like on-demand manufacturing platforms by federating them in utilizing a network of networks -approach. +To empower MaaS for the automotive industry we built a reference architecture of a digital MaaS ecosystem based on a dataspace-agnostic reference architecture for open, sustainable, and resilient digital manufacturing ecosystems. To perform the capability matchmaking and capability data integration, the prototypical implementation of this reference architecture consists of components for smart semantic integration to bridge the semantic gap between different manufacturing capability descriptions, as well as a search engine and a multi-purpose API connector. Furthermore, the standardization of interfaces and data models for the most relevant communication within the architecture ensures exchangeability of and interoperability between all major components. This prevents the vendor lock-in effect, enables a market for MaaS services and opportunities for interested operating companies. The architecture fully supports existing manufacturing networks like on-demand manufacturing platforms by federating them in utilizing a network of networks approach. -The journal article “Building a Digital Manufacturing as a Service Ecosystem for Catena-X” describes the -dataspace-agnostic basis for the Catena-X MaaS reference architecture. +The journal article “Building a Digital Manufacturing as a Service Ecosystem for Catena-X” describes the dataspace-agnostic basis for the Catena-X MaaS reference architecture. -![Link to the journal paper: ](resources/Architekturteaser.png) -*Building a Digital Manufacturing as a Service Ecosystem for Catena-X[^1]* +![Link to the journal paper: ](resources/Architekturteaser.png) + +*Building a Digital Manufacturing as a Service Ecosystem for Catena-X[^1].* ## Semantic Models -The knowledge of manufacturing capabilities is based on extensive knowledge from different distributed sources in -various fields of expertise and interoperability of systems utilizing and managing this information is a major issue. -The reason for this is that the majority of these systems use their own proprietary data structures and vaguely describe -semantics, as well as different interpretations of the terms used and applied to describe the capabilities. For this -reason, the CDME architecture does not rely on standardized semantics. However, basic concepts are defined as aspect -models, to provide a common semantics where appropriate. +Knowledge of manufacturing capabilities is based on extensive knowledge from different distributed sources, in different disciplines, and the interoperability of systems that use and manage this information is a major challenge. The reason for this is that the majority of these systems use their own proprietary data structures and vaguely describe semantics, as well as different interpretations of the terms used and applied to describe the capabilities. For this reason, the CDME architecture does not rely on standardized semantics. However, basic concepts are defined as aspect models, to provide a common semantics where appropriate. ### Manufacturing Capability Model -An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and -capabilities, as well as their relations to each other. Sharing information about the required and available -manufacturing capabilities in an interoperable manner is fundamental for any MaaS solution providing basic and -value-added services such as automated search and matchmaking. -Link to the semantic data -model: +An aspect model representing manufacturing capabilities, based on the concepts for products, processes, resources and capabilities, as well as their relations to each other. Sharing information about the required and available manufacturing capabilities in an interoperable manner is fundamental for any MaaS solution providing basic and value-added services such as automated search and matchmaking. + +Link to the semantic data model: ### Request for QuotationModel -An aspect model defining detailed requirements, deadlines and evaluation criteria for obtaining quotations from -potential manufacturers for specific products or services. Manufacturing-as-a-Service (MaaS) scenarios focus on -connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the -appropriate manufacturing supplier, who has the corresponding capabilities and resources. Sharing information about the -demand with all required configuration and contact data is necessary for potential suppliers to evaluate the request and -formulate an offer. A common description of the request for quotation based on a standardized semantic definition is -therefore key for facilitating such an information exchange between Catena-X participants. This ensures an open network -for every Catena-X member to join and enables interoperability between the partners. -Link to the semantic data -model: +An aspect model defining detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Manufacturing-as-a-Service (MaaS) scenarios focus on connecting buyers having a request for specific manufacturing process steps or products to be manufactured with the appropriate manufacturing supplier, who has the corresponding capabilities and resources. Sharing information about the demand with all required configuration and contact data is necessary for potential suppliers to evaluate the request and formulate an offer. A common description of the request for quotation based on a standardized semantic definition is therefore key for facilitating such an information exchange between Catena-X participants. This ensures an open network for every Catena-X member to join and enables interoperability between the partners. + +Link to the semantic data model: + +- ## Logic / Schema -In general, the MaaS KIT does not consider specific business logic. However, a capability matchmaking is a central -requirement for every MaaS KIT-based architecture. This leads to the phases depicted in the figure below. The figure -segments the phases into phases containing ecosystem and user actions. For the matchmaking to work, manufacturers have -to register themselves with the ecosystem in order to onboard their capability-related information. Furthermore, since -they have the domain-expertise regarding their capabilities, they refine them, which from there point of view is similar -to search engine optimization and keep their information up to date. For all that, they can use services provided by the -digital ecosystem (cf. Service Provision and Consumption). Stakeholders with a demand for manufacturing capabilities can -further use services to communicate this demand to the systems which perform the matchmaking. Additionally, if the -demand is not yet available as process alternatives or similar machine-interpretable structures, it has to be -transformed accordingly. If manufacturers have been found by their matching capabilities, they have to be further -filtered by additional aspects, e.g. carbon footprints, to fit respective prerequisites for an order. For this, the -information of interest has to be requested from factory endpoints or further services. -The figure also depicts phases which are currently out of scope. This includes the product design, the simulation and -planning within a factory and all steps after a request for quotation is submitted. - -![Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023](resources/image-2023-11-2_13-54-35.png) -*Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023)[^1]* +In general, the MaaS KIT does not consider specific business logic. However, a capability matchmaking is a central requirement for every MaaS KIT-based architecture. This leads to the phases depicted in the figure below. The figure segments the phases into phases containing ecosystem and user actions. For the matchmaking to work, manufacturers have to register themselves with the ecosystem in order to onboard their capability-related information. Furthermore, since they have the domain-expertise regarding their capabilities, they refine them, which from their point of view is similar to search engine optimization. For all that, they can use services provided by the digital ecosystem (cf. Service Provision and Consumption). Stakeholders with a demand for manufacturing capabilities can further use services to communicate this demand to the systems which perform the matchmaking. Additionally, if the demand is not yet available as process alternatives or similar machine-interpretable structures, it has to be transformed accordingly. If manufacturers have been found by their matching capabilities, they have to be further filtered by additional aspects, e.g. carbon footprints, to fit respective prerequisites for an order. For this, the information of interest has to be requested from factory endpoints or further services. + +The figure also depicts phases which are currently out of scope. + +![Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023](resources/image-2023-11-2_13-54-35.png) + +*Phases of a capability matchmaking MaaS use case (Schoeppenthau et al. 2023)[^1].* [^1]: ```Schöppenthau, F.; Patzer, F.; Schnebel, B.; Watson, K.; Baryschnikov, N.; Obst, B.; Chauhan, Y.; Kaever, D.; Usländer, T.; Kulkarni, P. Building a Digital Manufacturing as a Service Ecosystem for Catena-X. Sensors 2023, 23, 7396. https://doi.org/10.3390/s23177396``` diff --git a/docs-kits/kits/Manufacturing as a Service Kit/page_changelog.md b/docs-kits/kits/Manufacturing as a Service Kit/page_changelog.md index cd282ce43b3..cc540906fb0 100644 --- a/docs-kits/kits/Manufacturing as a Service Kit/page_changelog.md +++ b/docs-kits/kits/Manufacturing as a Service Kit/page_changelog.md @@ -15,7 +15,8 @@ All notable changes to this KIT will be documented in this file. ### Added -- ./. +- Manufacturing Capability API +- Request for Quotation API ### Changed diff --git a/docusaurus.config.js b/docusaurus.config.js index 521881b6532..c27caf458fe 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -308,6 +308,7 @@ const config = { groupPathsBy: "tag", }, }, + // Online Simulation and Control (OSim) resiliency_osim: { outputDir: "./docs-kits/kits/OSim Kit/Software Development View/", // Output directory for generated .mdx docs @@ -316,6 +317,7 @@ const config = { groupPathsBy: "tag", }, }, + // Modular Production (MP) resiliency_mp_provider_getProductionForecast: { specPath: './openApi/resiliency/modular-production/GetProductionForecast.yml', // Path to designated spec file @@ -352,6 +354,25 @@ const config = { groupPathsBy: 'tag', }, }, + // Manufacturing as a Service (MaaS) + resiliency_maas_manufacturing_capability: { + specPath: + './openApi/resiliency/maas/ManufacturingCapability-open-api.yaml', // Path to designated spec file + outputDir: + './docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Manufacturing Capability', // Output directory for generated .mdx docs + sidebarOptions: { + groupPathsBy: 'tag', + }, + }, + resiliency_maas_request_for_quotation: { + specPath: + './openApi/resiliency/maas/RfQ-openapi.yaml', // Path to designated spec file + outputDir: + './docs-kits/kits/Manufacturing as a Service Kit/Software Development View/Request for Quotation', // Output directory for generated .mdx docs + sidebarOptions: { + groupPathsBy: 'tag', + }, + }, }, }, ], diff --git a/openApi/resiliency/maas/ManufacturingCapability-open-api.yaml b/openApi/resiliency/maas/ManufacturingCapability-open-api.yaml new file mode 100644 index 00000000000..5589aafbe24 --- /dev/null +++ b/openApi/resiliency/maas/ManufacturingCapability-open-api.yaml @@ -0,0 +1,433 @@ +--- +openapi: 3.0.3 +info: + description: "The Manufacturing Capability API, as described below, demonstrates the usage of the Manufacturing Capability Aspect Model. This model is designed to represent manufacturing capabilities, focusing on the concepts of products, processes, resources, capabilities, and their interrelations. Depending on the use case, different request paths can be implemented, each based on specific MaaS implementations. Refer to [Version 3.1.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.manufacturing_capability) for more details." + title: Manufacturing Capability Aspect Model + version: v3.1.0 +servers: + - url: https://example.com/api/v3 + variables: + api-version: + default: v3 +paths: + /{api-endpoint}/ManufacturingCapability: + get: + tags: + - ManufacturingCapability + operationId: getManufacturingCapability + parameters: + - name: api-endpoint + in: path + description: The API endpoint to get manufacturing capabilities of a manufacturer. + required: true + schema: + type: string + format: uuid + responses: + "200": + $ref: "#/components/responses/ManufacturingCapability" + "401": + $ref: "#/components/responses/ClientError" + "402": + $ref: "#/components/responses/Unauthorized" + "403": + $ref: "#/components/responses/Forbidden" + "404": + $ref: "#/components/responses/NotFoundError" + post: + servers: + - url: https://example.com/query-api/v3 + variables: + api-version: + default: v3 + tags: + - ManufacturingCapability + operationId: postManufacturingCapability + parameters: + - name: api-endpoint + in: path + description: The API endpoint to register manufacturing capabilities of a manufacturer. + required: true + schema: + type: string + format: uuid + requestBody: + $ref: "#/components/requestBodies/Filter" + responses: + "200": + $ref: "#/components/responses/ManufacturingCapability" + "401": + $ref: "#/components/responses/ClientError" + "402": + $ref: "#/components/responses/Unauthorized" + "403": + $ref: "#/components/responses/Forbidden" + "404": + $ref: "#/components/responses/NotFoundError" +components: + schemas: + ErrorResponse: + type: object + required: + - error + properties: + error: + $ref: "#/components/schemas/Error" + Error: + type: object + required: + - details + properties: + message: + type: string + minLength: 1 + path: + type: string + minLength: 1 + details: + type: object + minLength: 1 + additionalProperties: + type: object + code: + type: string + nullable: true + Filter: + type: object + required: + - filter + properties: + filter: + type: string + description: The filter to use. + example: + $ref: "#/components/schemas/ManufacturingCapability" + ? urn_samm_io.catenax.shared.bill_of_process_1.1.0_BillOfProcessIdCharacteristic + : type: string + description: Characteristic for Bill of process Identifiers + urn_samm_io.catenax.manufacturing_capability_3.1.0_BoPEntity: + description: Element containing a bill of process identifier. + type: object + properties: + billOfProcessIdentification: + description: + Unique identifier for a bill of process that can be used to + reference instances of the bill of process + $ref: "#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_BillOfProcessIdCharacteristic" + required: + - billOfProcessIdentification + urn_samm_io.catenax.manufacturing_capability_3.1.0_ProcessSetCharacteristic: + description: Characteristic for a set of bill of processes. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_BoPEntity" + uniqueItems: true + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_MultiLanguageText: + type: object + description: + "Describes a Property which contains plain text in multiple languages.\ + \ This is intended exclusively for human readable strings, not for identifiers,\ + \ measurement values, etc." + urn_samm_io.catenax.manufacturing_capability_3.1.0_IdCharacteristic: + type: string + description: Characteristic for identifiers. + urn_samm_io.catenax.manufacturing_capability_3.1.0_SemanticReferenceEntity: + description: Element containing the SAMM properties of a semantic reference. + type: object + properties: + semanticReferenceId: + description: Globally unique identifier for the semantic. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_IdCharacteristic" + required: + - semanticReferenceId + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_SemanticReferenceSetCharacteristic + : description: Characteristic for a set of semantic references + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_SemanticReferenceEntity" + uniqueItems: true + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_PropertyValueCharacteristic + : type: string + description: Characteristic for a property value. + urn_samm_io.catenax.manufacturing_capability_3.1.0_PropertyEntity: + description: Element containing the SAMM properties of a property. + type: object + properties: + propertyLabel: + description: Human readable label of a property. + $ref: "#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_MultiLanguageText" + semanticReferences: + description: A set of semantic references. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_SemanticReferenceSetCharacteristic" + propertyValue: + description: + The value of a property. Note that this SAMM property does + have a variable type and is therefore defined as string. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_PropertyValueCharacteristic" + required: + - propertyLabel + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_PropertySetCharacteristic + : description: Characteristic for a set of property representations. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_PropertyEntity" + uniqueItems: true + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementIdCharacteristic + : type: string + description: Characteristic for an identifier of a hierarcy element. + urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementIdEntity: + description: Element containing the SAMM properties of a hierarchy element. + type: object + properties: + hierarchyElementId: + description: An identifier of a hierarchy element. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementIdCharacteristic" + required: + - hierarchyElementId + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementSetCharacteristic + : description: Characteristic for a set of hierarchy elements. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementIdEntity" + uniqueItems: true + urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilityEntity: + description: Element containing the SAMM properties of a capability. + type: object + properties: + capabilityConstraintSet: + description: + Set of conditions imposed on capabilities which further detail + their applicability. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilityConstraintSetCharacteristic" + semanticReferences: + description: A set of semantic references. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_SemanticReferenceSetCharacteristic" + capabilityId: + description: Locally unique identifier for a capability. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_IdCharacteristic" + capabilityLabel: + description: Label of a capability. + $ref: "#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_MultiLanguageText" + required: + - capabilityLabel + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementAbstractEntity" + urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialFamilyEntity: + description: Element containing the SAMM properties of a material family. + type: object + properties: {} + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementAbstractEntity" + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementAbstractEntity + : description: + Template for elements containing the SAMM properties needed to + build hierarchies. + type: object + properties: + specializes: + description: One hierarchy element can specialize others. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementSetCharacteristic" + generalizes: + description: One hierarchy element can generalize others. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementSetCharacteristic" + hierarchyElementId: + description: An identifier of a hierarchy element. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_HierarchyElementIdCharacteristic" + required: + - hierarchyElementId + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ElementAbstractEntity" + urn_samm_io.catenax.manufacturing_capability_3.1.0_CertificateEntity: + description: Element containing the SAMM properties of a certificate. + type: object + properties: {} + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ElementAbstractEntity" + urn_samm_io.catenax.manufacturing_capability_3.1.0_ProductEntity: + description: Element containing the SAMM properties of a product. + type: object + properties: {} + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ElementAbstractEntity" + urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineEntity: + description: Element containing the SAMM properties of a machine. + type: object + properties: + provides: + description: Set of capabilities the machine can provide. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilitySetCharacteristic" + containsTools: + description: Set of machine tools the machine can be equipped with. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineToolSetCharacteristic" + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ElementAbstractEntity" + urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialEntity: + description: Characteristic for a material. + type: object + properties: + belongsToMaterialFamilies: + description: A material belongs to certain material families. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialFamilySetCharacteristic" + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ElementAbstractEntity" + urn_samm_io.catenax.manufacturing_capability_3.1.0_ElementAbstractEntity: + description: Template for elements needing a label and containing properties. + type: object + properties: + properties: + description: + "Set of qualities or characteristics inherent in or ascribed\ + \ to process, resource, product or capability entities." + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_PropertySetCharacteristic" + label: + description: Multilanguage label of an element. + $ref: "#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_MultiLanguageText" + required: + - label + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialFamilySetCharacteristic + : description: Characteristic for a set of material families. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialFamilyEntity" + uniqueItems: true + urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialCharacteristic: + description: Characteristic for a material. + type: object + properties: + belongsToMaterialFamilies: + description: A material belongs to certain material families. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialFamilySetCharacteristic" + allOf: + - $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ElementAbstractEntity" + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilityConstraintEntity + : description: Element containing the samm properties of a capability constraint. + type: object + properties: + capabilityConstraintProperties: + description: Set of constraints restricting the capability. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_PropertySetCharacteristic" + refersToMaterial: + description: A specific material the capability constraint can refer to. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialCharacteristic" + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilityConstraintSetCharacteristic + : description: Characteristic for a set of capability constraint representations. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilityConstraintEntity" + uniqueItems: true + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilitySetCharacteristic + : description: Characteristic for a set of capability representations. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilityEntity" + uniqueItems: true + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialSetCharacteristic + : description: Characteristic for a set of materials. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialEntity" + uniqueItems: true + urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineToolEntity: + description: Element containing the SAMM properties of a machine tool. + type: object + properties: + canProcessMaterials: + description: Set of materials the machine tool can utilize. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MaterialSetCharacteristic" + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineToolSetCharacteristic + : description: Characteristic for a set of machine tools. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineToolEntity" + uniqueItems: true + urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineSetCharacteristic: + description: Characteristic for a set of machine representations. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineEntity" + uniqueItems: true + urn_samm_io.catenax.manufacturing_capability_3.1.0_ProductSetCharacteristic: + description: Characteristic for a set of product representations. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ProductEntity" + uniqueItems: true + ? urn_samm_io.catenax.manufacturing_capability_3.1.0_CertificateSetCharacteristic + : description: Characteristic for a set of certificates. + type: array + items: + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_CertificateEntity" + uniqueItems: true + ManufacturingCapability: + description: + "An aspect model representing manufacturing capabilities, based\ + \ on the concepts for products, processes, resources and capabilities, as\ + \ well as their relations to each other." + type: object + properties: + processes: + description: + Set of production-relevant activities at any level of granularity + that might affect materials and is performed by resources. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ProcessSetCharacteristic" + machines: + description: A set of machines used for production. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineSetCharacteristic" + products: + description: + Set of physical objects being used as an input or created as + an output of a production process. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_ProductSetCharacteristic" + capabilities: + description: + Set of implementation-independent specifications of functions + in industrial production to achieve an effect in the physical or virtual + world. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_CapabilitySetCharacteristic" + machineTools: + description: A set of machine tools. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_MachineToolSetCharacteristic" + certificates: + description: Set of certificates. + $ref: "#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_CertificateSetCharacteristic" + required: + - processes + - machines + - products + - capabilities + - machineTools + - certificates + responses: + Unauthorized: + description: The requesting user or client is not authenticated. + Forbidden: + description: + The requesting user or client is not authorized to access resources + for the given tenant. + NotFoundError: + description: The requested Twin has not been found. + ClientError: + description: + Payload or user input is invalid. See error details in the payload + for more. + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorResponse" + ManufacturingCapability: + content: + application/json: + schema: + $ref: "#/components/schemas/ManufacturingCapability" + description: The request was successful. + requestBodies: + ManufacturingCapability: + content: + application/json: + schema: + $ref: "#/components/schemas/ManufacturingCapability" + Filter: + content: + application/json: + schema: + $ref: "#/components/schemas/Filter" diff --git a/openApi/resiliency/maas/RfQ-openapi.yaml b/openApi/resiliency/maas/RfQ-openapi.yaml new file mode 100644 index 00000000000..cac0eb9df32 --- /dev/null +++ b/openApi/resiliency/maas/RfQ-openapi.yaml @@ -0,0 +1,786 @@ +--- +openapi: 3.0.3 +info: + description: "The Request for Quotation API description below shows how the Request for Quotation Aspect Model could be used. A Request for Quotation defines detailed requirements, deadlines and evaluation criteria for obtaining quotations from potential manufacturers for specific products or services. Depending on the use case different request paths can be implemented, based on the specific MaaS implementations. [Version 3.0.0](https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.request_for_quotation)" + title: Request For Quotation + version: v3 +servers: +- url: https://example.com/api/v3 + variables: + api-version: + default: v3.0.0 +paths: + /{api-endpoint}/request-for-quotation: + post: + servers: + - url: https://example.com/query-api/v3 + variables: + api-version: + default: v3 + tags: + - RequestForQuotation + operationId: postRequestForQuotation + parameters: + - name: api-endpoint + in: path + description: The API endpoint to send a request for quotation to a manufacturer. + required: true + schema: + type: string + format: uuid + requestBody: + $ref: '#/components/requestBodies/Filter' + responses: + "200": + $ref: '#/components/responses/RequestForQuotation' + "401": + $ref: '#/components/responses/ClientError' + "402": + $ref: '#/components/responses/Unauthorized' + "403": + $ref: '#/components/responses/Forbidden' + "404": + $ref: '#/components/responses/NotFoundError' +components: + schemas: + ErrorResponse: + type: object + required: + - error + properties: + error: + $ref: '#/components/schemas/Error' + Error: + type: object + required: + - details + properties: + message: + type: string + minLength: 1 + path: + type: string + minLength: 1 + details: + type: object + minLength: 1 + additionalProperties: + type: object + code: + type: string + nullable: true + Filter: + type: object + required: + - filter + properties: + filter: + type: string + description: The filter to use. + example: + $ref: '#/components/schemas/RequestForQuotation' + urn_samm_io.catenax.request_for_quotation_3.0.0_SourceCharacteristic: + type: string + description: "digital address of the sender (e.g.token, IP address, link, user\ + \ account)" + urn_samm_io.catenax.request_for_quotation_3.0.0_IdCharacteristic: + type: string + description: internal identifier in user account + urn_samm_io.catenax.request_for_quotation_3.0.0_NameCharacteristic: + type: string + description: name for the request for user account management (usually name + of the part to be manufactured) + urn_samm_io.catenax.request_for_quotation_3.0.0_DateTimeCharacteristic: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: date and time of the request in user account + urn_samm_io.catenax.request_for_quotation_3.0.0_RFQVersionCharacteristic: + type: string + description: version of this request in case there were any changes + urn_samm_io.catenax.request_for_quotation_3.0.0_RFQIdentificationCharacteristic: + description: all properties necessary for identification of the request for + quotation + type: object + properties: + rfqSource: + description: "RFQ-Identification: digital address of the sender (e.g.token,\ + \ IP address, link, user account)" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SourceCharacteristic' + rfqId: + description: "RFQ-Identification: internal identifier in user account" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_IdCharacteristic' + rfqName: + description: "RFQ-Identification: name for the request for user account\ + \ management (usually name of the product to be manufactured)" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_NameCharacteristic' + rfqDateTime: + description: "RFQ-Identification: date and time of the request in user account" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DateTimeCharacteristic' + rfqVersion: + description: "RFQ-Identification: version of this request in case there\ + \ were any changes" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQVersionCharacteristic' + required: + - rfqId + - rfqName + - rfqDateTime + - rfqVersion + urn_samm_io.catenax.request_for_quotation_3.0.0_FileTypeCharacteristic: + type: string + description: file format + urn_samm_io.catenax.request_for_quotation_3.0.0_FilePathCharacteristic: + type: string + description: 'path or address to the file ' + urn_samm_io.catenax.request_for_quotation_3.0.0_FileNameCharacteristic: + type: string + description: name of the file + urn_samm_io.catenax.request_for_quotation_3.0.0_FileObjectCharacteristic: + description: "the file object itself, in case this could be sent via the API" + type: object + properties: {} + urn_samm_io.catenax.request_for_quotation_3.0.0_FileCharacteristic: + description: in case there are additional documents or files to share + type: object + properties: + fileType: + description: "RFQ-Configuration: file format" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileTypeCharacteristic' + filePath: + description: 'path or address to the file ' + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FilePathCharacteristic' + fileName: + description: name of the file + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileNameCharacteristic' + fileObject: + description: "the file object itself, in case this could be sent via the\ + \ API" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileObjectCharacteristic' + required: + - fileType + - fileName + urn_samm_io.catenax.request_for_quotation_3.0.0_PartIdCharacteristic: + type: string + description: identifier of the part from CAD File + urn_samm_io.catenax.request_for_quotation_3.0.0_PartNameCharacteristic: + type: string + description: "name of the part in CAD file. In case the CAD file has only one\ + \ part, this could also be the file name" + urn_samm_io.catenax.request_for_quotation_3.0.0_ManufacturingDomainCharacteristic: + type: string + description: "domain of required process (e.g. subtractive manufacturing, additive\ + \ manufacturing, assembly)" + urn_samm_io.catenax.request_for_quotation_3.0.0_GeneralToleranceCharacteristic: + type: string + description: selection of defined tolerance classes + urn_samm_io.catenax.request_for_quotation_3.0.0_AdditionalQualityRequirementsCharacteristic: + type: string + description: specific requirements to guarantee quality + urn_samm_io.catenax.request_for_quotation_3.0.0_ValueCharacteristic: + type: string + description: value to detail the part material item + urn_samm_io.catenax.request_for_quotation_3.0.0_ValueTypeCharacteristic: + type: string + description: value type to specify the property value + urn_samm_io.catenax.request_for_quotation_3.0.0_PropertyNameCharacteristic: + type: string + description: name of the property + urn_samm_io.catenax.request_for_quotation_3.0.0_SetMaterialPropertiesCharacteristic: + description: 'set of property data to detail material properties ' + type: object + properties: + value: + description: value to detail the part material item + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_ValueCharacteristic' + valueType: + description: value type to specify the value of the property + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_ValueTypeCharacteristic' + propertyName: + description: name of the property + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PropertyNameCharacteristic' + required: + - value + - valueType + - propertyName + urn_samm_io.catenax.request_for_quotation_3.0.0_PartMaterialGroupCharacteristic: + type: string + description: definition of material group for preselection + urn_samm_io.catenax.request_for_quotation_3.0.0_MaterialCharacteristic: + description: material definition with further information + type: object + properties: + materialProperties: + description: "material definition with additional detail properties with\ + \ name, value and value type, like name= density, value=2.7, type=g/m3\ + \ or name= chemical term, value=AlMgMn, type=periodic table" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SetMaterialPropertiesCharacteristic' + materialFamily: + description: definition of material family for preselection + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartMaterialGroupCharacteristic' + required: + - materialProperties + urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic: + type: number + description: The quantity value associated with the unit expressed as float. + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_UnitReference: + type: string + pattern: "[a-zA-Z]*:[a-zA-Z]+" + description: Describes a Property containing a reference to one of the units + in the Unit Catalog. + urn_samm_io.catenax.request_for_quotation_3.0.0_PartQuantityCharacteristic: + description: quantity to be ordered + type: object + properties: + quantityNumber: + description: The number of objects related to the measurement unit + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic' + measurementUnit: + description: Unit of Measurement for the quantity of serialized objects + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_UnitReference' + required: + - quantityNumber + - measurementUnit + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList: + description: List of process step identifiers to reference to other process + steps that are part of the bill of process + type: array + items: + type: string + urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic: + type: string + description: Characteristic to express string values + urn_samm_io.catenax.shared.bill_of_process_1.1.0_SemanticListCharacteristic: + description: A list containing all semantic references for a parameter + type: array + items: + type: string + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterKeyCharacteristic: + type: string + description: Enumeration that predefines values for the parameter key + enum: + - HasValue + - HasNoValue + - HasValueRange + - HasTolerances + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRange: + description: Entity for each value range item + type: object + properties: + lowerValue: + description: Lower border of a value range item + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + upperValue: + description: Upper border for a value range item + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + name: + description: Name of the parameter + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + required: + - lowerValue + - upperValue + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRangeList: + description: List with value ranges for a parameter + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRange' + urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesEntity: + description: Entity to express the tolerances of a parameter + type: object + properties: + lowerLimit: + description: The lower direct limit of the tolerance + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + upperLimit: + description: Upper direct limit of the tolerance + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + name: + description: Name of the parameter + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + required: + - lowerLimit + - upperLimit + urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesCharacteristic: + description: List with tolerances for a parameter's value + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesEntity' + urn_samm_io.catenax.shared.bill_of_process_1.1.0_Parameter: + description: "Generic entity to characterize parameters. It distinguished four\ + \ cases: a parameter without a value, a parameter with a value, a parameter\ + \ with a value range and a parameter with tolerances " + type: object + properties: + name: + description: Name of the parameter + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + value: + description: Value of the parameter + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + semanticReference: + description: Reference to a semantic namespace in which the type of the + parameter is defined + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_SemanticListCharacteristic' + parameterKey: + description: "Enumeration that is used to distinguish whether the parameter\ + \ has no value, has a value, has a value range or has a value with tolerances" + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterKeyCharacteristic' + valueRangeList: + description: List with value ranges for a parameter + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ValueRangeList' + tolerances: + description: 'Tolerances for a parameter ' + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_TolerancesCharacteristic' + required: + - name + - semanticReference + - parameterKey + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterList: + description: A list of parameters + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_Parameter' + urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElement: + description: Entity to link the current process step to its successors + type: object + properties: + successor: + description: 'List of subsequent process step which can be executed in any + order ' + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList' + required: + - successor + urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElementList: + description: Set of process steps which have to be executed in parallel + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElement' + urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElements: + description: List of process steps that must be executed in parallel + type: object + properties: + precedenceElements: + description: List process steps that must be executed in parallel + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElementList' + required: + - precedenceElements + urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceRelationCharacteristic: + description: 'List to express alternative process sequences ' + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceElements' + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepTypeCharacteristic: + type: string + description: "Distinguishes 4 cases of process steps: the first and the last\ + \ process step, a process step that is in between the first and the last,\ + \ or a subprocess step " + enum: + - IsFirstElement + - IsLastElement + - IsProcessElement + - IsSubprocessElement + urn_samm_io.catenax.manufacturing_capability_3.1.0_IdCharacteristic: + type: string + description: Characteristic for identifiers. + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStep: + description: Entity to characterize single process steps + type: object + properties: + processStepIdentifier: + description: Unique identifier for a concrete process step + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList' + inputParameters: + description: Optional list of parameters that are required to execute the + corresponding process step + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterList' + outputParameters: + description: Optional list of parameters that are returned from the process + step and can be used as inputParameters for subsequent steps + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ParameterList' + precedenceRelation: + description: "List of alternative process steps from which the manufacturer\ + \ has to select exactly one step to be executed. In case of no alternative\ + \ process step, the list features only one element. In case of the last\ + \ element, the property is not used, since the process step has no successor" + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_PrecedenceRelationCharacteristic' + childProcessSteps: + description: "List of child processes that need to be executed to complete\ + \ the parent process step. It enables the expression of hierarchies between\ + \ capabilities, e.g. a transport capability needs to execute at least\ + \ a pick, a move and a place capability" + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepIdentifierList' + processStepType: + description: "Distinguishes process steps based on whether there are the\ + \ first or last process step to be executed, or if they are a subprocess\ + \ step, which subdivides a higher-level process step into smaller process\ + \ steps" + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepTypeCharacteristic' + capabilityId: + description: Locally unique identifier for a capability. + $ref: '#/components/schemas/urn_samm_io.catenax.manufacturing_capability_3.1.0_IdCharacteristic' + required: + - processStepIdentifier + - processStepType + - capabilityId + urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepsList: + description: Unordered list that contains all process steps to manufacture a + product. The relation between these process steps are created through the + precedence relation property + type: array + items: + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStep' + urn_samm_io.catenax.shared.bill_of_process_1.1.0_BillOfProcessIdCharacteristic: + type: string + description: Characteristic for Bill of process Identifiers + urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait: + type: string + description: Constraint for defining a SemVer version. + pattern: "^(0|[1-9][0-9]*).(0|[1-9][0-9]*).(0|[1-9][0-9]*)(-(0|[1-9A-Za-z-][0-9A-Za-z-]*)(.[0-9A-Za-z-]+)*)?([0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?$" + urn_samm_io.catenax.request_for_quotation_3.0.0_BillOfProcessCharacteristic: + description: reference to SharedBillOfProcess Model + type: object + properties: + process: + description: "List that contains all manufacturing steps of a product, whereat\ + \ each manufacturing step refers to exactly one capability. This list\ + \ contains all process steps that are required to manufacture the product,\ + \ specified with the bill of process " + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_ProcessStepsList' + productVersion: + description: Version of the product whose manufacturing steps are specified + with the bill of process. It can for example specify a concrete variant + of a product + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + productName: + description: Name of the product whose production steps are specified within + the bill of process + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_StringCharacteristic' + billOfProcessIdentification: + description: Unique identifier for a bill of process that can be used to + reference instances of the bill of process + $ref: '#/components/schemas/urn_samm_io.catenax.shared.bill_of_process_1.1.0_BillOfProcessIdCharacteristic' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - process + - productVersion + - productName + - billOfProcessIdentification + - version + urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfPartsCharacteristic: + description: "list of parts contained in the CAD file, to be defined in RFQ\ + \ configuration" + type: object + properties: + partId: + description: "RFQ-PartConfiguration: identifier of the part from CAD File" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartIdCharacteristic' + partName: + description: "RFQ-PartConfiguration: name of the part in CAD file. In case\ + \ the CAD file has only one part, this could also be the file name." + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartNameCharacteristic' + manufacturingDomain: + description: "RFQ-PartConfiguration: domain of required process (e.g. subtractive\ + \ manufacturing, additive manufacturing, assembly)" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_ManufacturingDomainCharacteristic' + generalTolerance: + description: "RFQ-PartConfiguration: selection of defined tolerance classes" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_GeneralToleranceCharacteristic' + additionalRequirements: + description: "RFQ-PartConfiguration: specific requirements e.g. to guarantee\ + \ quality, like premium quality check or standard quality check or test\ + \ part required (makes only sense for batch)" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_AdditionalQualityRequirementsCharacteristic' + material: + description: "RFQ-PartConfiguration: material definition with further information" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_MaterialCharacteristic' + partQuantity: + description: "RFQ-PartConfiguration: Quantity of which the part item is\ + \ assembled into the parent item (within the CAD File). In general it\ + \ is '1' for serialized parts." + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_PartQuantityCharacteristic' + billOfProcess: + description: "RFQ-PartConfiguration: list of process steps for part to be\ + \ manufactured" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_BillOfProcessCharacteristic' + required: + - partId + - partName + - generalTolerance + - material + - partQuantity + urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryDateCharacteristic: + type: string + format: date + description: delivery date + urn_samm_io.catenax.request_for_quotation_3.0.0_CommentCharacteristic: + type: string + description: placeholder for any kind of additional comments + urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfFilesCharacteristic: + description: in case there are additional documents or files to share + type: object + properties: + fileType: + description: "RFQ-Configuration: file format" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileTypeCharacteristic' + filePath: + description: 'path or address to the file ' + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FilePathCharacteristic' + fileName: + description: name of the file + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileNameCharacteristic' + fileObject: + description: "the file object itself, in case this could be sent via the\ + \ API" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileObjectCharacteristic' + required: + - fileType + - fileName + urn_samm_io.catenax.request_for_quotation_3.0.0_OrderQuantityCharacteristic: + description: quantity to be ordered + type: object + properties: + quantityNumber: + description: The number of objects related to the measurement unit + $ref: '#/components/schemas/urn_samm_io.catenax.shared.quantity_2.0.0_QuantityValueCharacteristic' + measurementUnit: + description: Unit of Measurement for the quantity of serialized objects + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_UnitReference' + required: + - quantityNumber + - measurementUnit + urn_samm_io.catenax.request_for_quotation_3.0.0_RFQConfigurationCharacteristic: + description: all information to configure a request for quotation + type: object + properties: + cadFile: + description: "RFQ-Configuration: CAD file as geometry definition, e.g. step\ + \ file" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_FileCharacteristic' + parts: + description: "RFQ-Configuration: list of parts contained in the CAD file" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfPartsCharacteristic' + firstDeliveryDate: + description: "RFQ-Configuration: Date of desired, first, but not must delivery" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryDateCharacteristic' + lastDeliveryDate: + description: "RFQ-Configuration: date of required and last acceptable delivery" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryDateCharacteristic' + additionalComments: + description: "RFQ-Configuration: placeholder for any kind of additional\ + \ comments" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_CommentCharacteristic' + additionalFiles: + description: "RFQ-Configuration: in case there are additional documents\ + \ or files to share (like e.g. technical drawings)" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SetOfFilesCharacteristic' + orderQuantity: + description: "RFQ-Configuration: quantity at all, valid for complete order\ + \ (usually number of products to be ordered)" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_OrderQuantityCharacteristic' + required: + - cadFile + - parts + - lastDeliveryDate + - orderQuantity + urn_samm_io.catenax.request_for_quotation_3.0.0_SenderNameCharacteristic: + type: string + description: name of the sender + urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAddressCharacteristic: + type: string + description: address of sender + urn_samm_io.catenax.request_for_quotation_3.0.0_SenderCompanyNameCharacteristic: + type: string + description: company name of sender + urn_samm_io.catenax.request_for_quotation_3.0.0_SenderEMailCharacteristic: + type: string + description: ' e-mail address of sender' + urn_samm_io.catenax.request_for_quotation_3.0.0_SenderPhoneNumberCharacteristic: + type: string + description: phone number of sender + urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAccountAddressCharacteristic: + type: string + description: address of sender for account + urn_samm_io.catenax.request_for_quotation_3.0.0_SenderDeliveryAddressCharacteristic: + type: string + description: address of sender for delivery + urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryRequirementsCharacteristic: + type: string + description: any kind of delivery requirements + urn_samm_io.catenax.request_for_quotation_3.0.0_RFQSenderCharacteristic: + description: "all data about sender of request for quotation, important for\ + \ offer and delivery" + type: object + properties: + senderName: + description: "RFQ-Sender: name of the sender" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderNameCharacteristic' + senderAdress: + description: "RFQ-Sender: BPDM/ or fill in by the customer, address of sender" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAddressCharacteristic' + senderCompanyName: + description: "RFQ-Sender: BPDM/ or fill in by the customer, company name\ + \ of sender" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderCompanyNameCharacteristic' + senderEMail: + description: "RFQ-Sender: BPDM/ or fill in by the customer, e-mail address\ + \ of sender" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderEMailCharacteristic' + senderPhoneNumber: + description: "RFQ-Sender: BPDM/ or fill in by the customer, phone number\ + \ of sender" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderPhoneNumberCharacteristic' + senderAccountAddress: + description: "RFQ-Sender: BPDM/ or fill in by the customer, address of sender\ + \ for account" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderAccountAddressCharacteristic' + senderDeliveryAddress: + description: "RFQ-Sender: BPDM/ or fill in by the customer, address of sender\ + \ for delivery" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_SenderDeliveryAddressCharacteristic' + deliveryRequirements: + description: "RFQ-Sender: filled by customer, any kind of delivery requirements" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_DeliveryRequirementsCharacteristic' + required: + - senderName + - senderAdress + - senderEMail + - senderPhoneNumber + - senderAccountAddress + - senderDeliveryAddress + urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait: + type: string + description: "The provided regular expression ensures that the UUID is composed\ + \ of five groups of characters separated by hyphens, in the form 8-4-4-4-12\ + \ for a total of 36 characters (32 hexadecimal characters and 4 hyphens),\ + \ optionally prefixed by \"urn:uuid:\" to make it an IRI." + pattern: "(^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)|(^urn:uuid:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$)" + urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic: + type: string + description: Defining a string value for the context + urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp: + type: string + pattern: "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\\ + .[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + description: Describes a Property which contains the date and time with an optional + timezone. + urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait: + type: string + description: "The provided regular expression ensures that the BPNL is composed\ + \ of prefix 'BPNL', 10 digits and two alphanumeric letters." + pattern: "^BPNL[a-zA-Z0-9]{12}$" + urn_samm_io.catenax.request_for_quotation_3.0.0_CXHeaderCharacteristic: + description: header information by Catena-X + type: object + properties: + messageId: + description: "Unique ID identifying the message. The purpose of the ID is\ + \ to uniquely identify a single message, therefore it MUST not be reused." + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + context: + description: |- + Information about the context the message should be considered in. + The value MUST consist of two parts: an identifier of the context (e.g. business domain, etc.) followed by a version number. + Both the identifier and the version number MUST correspond to the content of the message. + If the content of a message is described by an aspect model available in the Catena-X Semantic Hub, then the unique identifier of this semantic model (e.g. urn:samm:io.catenax.:1.x.x) MUST be used as a value of the context field. This is considered the default case. + In all other cases the value of the context field MUST follow the pattern --:<[major] version> (e.g. TRACE-QM-Alert:1.x.x). + Versioning only refers to major versions in both default and fallback cases. + Note: The version of the message's header is specified in the version field. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_ContextCharacteristic' + sentDateTime: + description: Time zone aware timestamp holding the date and the time the + message was sent by the sending party. The value MUST be formatted according + to the ISO 8601 standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + senderBpn: + description: The Business Partner Number of the sending party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + receiverBpn: + description: The Business Partner Number of the receiving party. The value + MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints + are defined in the corresponding standard. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.business_partner_number_2.0.0_BpnlTrait' + expectedResponseBy: + description: Time zone aware timestamp holding the date and time by which + the sending party expects a certain type of response from the receiving + party. The meaning and interpretation of the fields's value are context-bound + and MUST therefore be defined by any business domain or platform capability + making use of it. The value MUST be formatted according to the ISO 8601 + standard + $ref: '#/components/schemas/urn_samm_org.eclipse.esmf.samm_characteristic_2.1.0_Timestamp' + relatedMessageId: + description: Unique ID identifying a message somehow related to the current + one + $ref: '#/components/schemas/urn_samm_io.catenax.shared.uuid_2.0.0_UuidV4Trait' + version: + description: The unique identifier of the aspect model defining the structure + and the semantics of the message's header. The version number should reflect + the versioning schema of aspect models in Catena-X. + $ref: '#/components/schemas/urn_samm_io.catenax.shared.message_header_3.0.0_SemanticVersioningTrait' + required: + - messageId + - context + - sentDateTime + - senderBpn + - receiverBpn + - version + RequestForQuotation: + description: The request for quotation represents the data structure to configure + a manufacturing request and send this to a supplier receive a quotation + type: object + properties: + rfqIdentification: + description: all properties necessary for identification of the request + for quotation + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQIdentificationCharacteristic' + rfqConfiguration: + description: all information to configure a request for quotation + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQConfigurationCharacteristic' + rfqSender: + description: "all data about sender of request for quotation, important\ + \ for offer and delivery" + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_RFQSenderCharacteristic' + cxHeader: + description: header information by Catena-X + $ref: '#/components/schemas/urn_samm_io.catenax.request_for_quotation_3.0.0_CXHeaderCharacteristic' + required: + - rfqIdentification + - rfqConfiguration + - rfqSender + - cxHeader + responses: + Unauthorized: + description: The requesting user or client is not authenticated. + Forbidden: + description: The requesting user or client is not authorized to access resources + for the given tenant. + NotFoundError: + description: The requested Twin has not been found. + ClientError: + description: Payload or user input is invalid. See error details in the payload + for more. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + RequestForQuotation: + content: + application/json: + schema: + $ref: '#/components/schemas/RequestForQuotation' + description: The request was successful. + requestBodies: + RequestForQuotation: + content: + application/json: + schema: + $ref: '#/components/schemas/RequestForQuotation' + Filter: + content: + application/json: + schema: + $ref: '#/components/schemas/Filter'