{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/ProductOrder_MVO",
"title": "ProductOrder_MVO",
"allOf": [
{
"$ref": "#/components/schemas/Entity_MVO"
},
{
"type": "object",
"description": "A Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa,",
"properties": {
"agreement": {
"type": "array",
"description": "A reference to an agreement defined in the context of the product order",
"items": {
"$ref": "#/components/schemas/AgreementRef_MVO"
}
},
"billingAccount": {
"$ref": "#/components/schemas/BillingAccountRef_MVO"
},
"state": {
"$ref": "#/components/schemas/ProductOrderStateType"
},
"cancellationDate": {
"type": "string",
"format": "date-time",
"description": "Date when the order is cancelled. This is used when order is cancelled. "
},
"cancellationReason": {
"type": "string",
"description": "Reason why the order is cancelled. This is used when order is cancelled. "
},
"category": {
"type": "string",
"description": "Used to categorize the order from a business perspective that can be useful for the OM system (e.g. \"enterprise\", \"residential\", ...)"
},
"channel": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RelatedChannel_MVO"
}
},
"description": {
"type": "string",
"description": "Description of the product order"
},
"expectedCompletionDate": {
"type": "string",
"format": "date-time",
"description": "Expected delivery date amended by the provider"
},
"externalId": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExternalIdentifier_MVO"
}
},
"note": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Note_MVO"
}
},
"notificationContact": {
"type": "string",
"description": "Contact attached to the order to send back information regarding this order"
},
"orderTotalPrice": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrderPrice_MVO"
}
},
"payment": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentRef_MVO"
}
},
"orderRelationship": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrderRelationship_MVO"
}
},
"priority": {
"type": "string",
"description": "A way that can be used by consumers to prioritize orders in OM system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)"
},
"productOfferingQualification": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductOfferingQualificationRef_MVO"
}
},
"quote": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QuoteRef_MVO"
}
},
"productOrderErrorMessage": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductOrderErrorMessage_MVO"
}
},
"productOrderJeopardyAlert": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductOrderJeopardyAlert_MVO"
}
},
"productOrderMilestone": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductOrderMilestone_MVO"
}
},
"productOrderItem": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductOrderItem_MVO"
},
"minItems": 1
},
"relatedParty": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RelatedPartyRefOrPartyRoleRef_MVO"
}
},
"requestedCompletionDate": {
"type": "string",
"format": "date-time",
"description": "Requested delivery date from the requestor perspective"
},
"requestedStartDate": {
"type": "string",
"format": "date-time",
"description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date. "
},
"completionDate": {
"type": "string",
"format": "date-time",
"description": "Date when the ProductOrder was completed"
}
}
}
],
"discriminator": {
"propertyName": "@type",
"mapping": {
"ProductOrder": "#/components/schemas/ProductOrder_MVO"
}
}
}