{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/Product", "title": "Product", "allOf": [ { "$ref": "#/components/schemas/Entity" }, { "type": "object", "description": "A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s).", "properties": { "agreementItem": { "type": "array", "items": { "$ref": "#/components/schemas/AgreementItemRef" } }, "billingAccount": { "$ref": "#/components/schemas/BillingAccountRef" }, "creationDate": { "type": "string", "format": "date-time", "description": "Date and time when the product was created" }, "description": { "type": "string", "description": "Is the description of the product. It could be copied from the description of the Product Offering." }, "isBundle": { "type": "boolean", "description": "If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering." }, "isCustomerVisible": { "type": "boolean", "description": "If true, the product is visible by the customer." }, "name": { "type": "string", "description": "Name of the product. It could be the same as the name of the product offering" }, "orderDate": { "type": "string", "format": "date-time", "description": "Is the date when the product was ordered" }, "productCharacteristic": { "type": "array", "items": { "$ref": "#/components/schemas/Characteristic" } }, "productOffering": { "$ref": "#/components/schemas/ProductOfferingRef" }, "productOrderItem": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedOrderItem" } }, "product": { "type": "array", "items": { "$ref": "#/components/schemas/ProductRefOrValue" } }, "productPrice": { "type": "array", "items": { "$ref": "#/components/schemas/ProductPrice" } }, "productRelationship": { "type": "array", "items": { "$ref": "#/components/schemas/ProductRelationship" } }, "productSerialNumber": { "type": "string", "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router." }, "productSpecification": { "$ref": "#/components/schemas/ProductSpecificationRef" }, "productTerm": { "type": "array", "items": { "$ref": "#/components/schemas/ProductTerm" } }, "realizingResource": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceRef" } }, "realizingService": { "type": "array", "items": { "$ref": "#/components/schemas/ServiceRef" } }, "relatedParty": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedPartyOrPartyRole" } }, "place": { "type": "array", "items": { "$ref": "#/components/schemas/RelatedPlaceRefOrValue" } }, "startDate": { "type": "string", "format": "date-time", "description": "Is the date from which the product starts" }, "status": { "$ref": "#/components/schemas/ProductStatusType" }, "terminationDate": { "type": "string", "format": "date-time", "description": "Is the date when the product was terminated" }, "intent": { "$ref": "#/components/schemas/IntentRefOrValue" } } } ], "discriminator": { "propertyName": "@type", "mapping": { "Product": "#/components/schemas/Product" } } }