{
    "swagger": "2.0",
    "info": {
        "title": "Service Delivery API",
        "version": "2022-01-30",
        "description": "# Description\nThese are the routes coming soon to Mitel service delivery interfaces. These resources will be secured by an API token passed in the Authorization header.\n## API Conventions\nThe API is versioned.  Entities are modelled as collections of resources and sub-resources. This collection of resources are inspired by the TMF API specifications version 4.0.0. Click on the \"TMForum Resource API Documentation\" link before for more information.",
        "termsOfService": "https://mitel.io/terms-of-service"
    },
    "externalDocs": {
        "description": "TMForum Resource API Documentation",
        "url": "https://github.com/tmforum-apis/Open_Api_And_Data_Model/tree/master/apis"
    },
    "host": "service-delivery.api.mitel.io",
    "basePath": "/2022-01-30",
    "tags": [
        {
            "name": "Phase 2 Routes",
            "description": "Operations to become available in Phase 2"
        },
        {
            "name": "Phase 3 Routes",
            "description": "Operations to become available in Phase 3"
        }
    ],
    "schemes": [
        "https"
    ],
    "consumes": [
        "application/json; charset=utf-8"
    ],
    "produces": [
        "application/json"
    ],
    "parameters": {
        "skipTokenParam": {
            "name": "$skipToken",
            "in": "query",
            "description": "If this property is present in the next link in a response, provide this token to retrieve the next page of resources",
            "required": false,
            "type": "integer"
        },
        "topParam": {
            "name": "$top",
            "in": "query",
            "description": "Number of items to retrieve, will return up to this many resources",
            "required": false,
            "type": "integer"
        },
        "filterParam": {
            "name": "$filter",
            "in": "query",
            "description": "Odata filter param, use this to filter the results to matching properties, e.g. '$filter=active eq true'.",
            "required": false,
            "type": "string"
        },
        "expandParam": {
            "name": "$expand",
            "in": "query",
            "description": "Odata expand param, use this to query related items",
            "required": false,
            "type": "string"
        }
    },
    "responses": {
        "200": {
            "description": "Ok"
        },
        "201": {
            "description": "Created"
        },
        "204": {
            "description": "No Content"
        },
        "400": {
            "description": "Bad request (The request is invalid against the required schema, check /2022-01-30/_spec)"
        },
        "401": {
            "description": "Unauthorized (Missing or expired JWT token in Authorization header)"
        },
        "403": {
            "description": "Forbidden (Your access policy denies access to this resource)"
        },
        "404": {
            "description": "Not found (The resource does not exist)"
        },
        "405": {
            "description": "Method Not allowed"
        },
        "409": {
            "description": "Conflict (A resource already exists or multiple resources found)"
        },
        "410": {
            "description": "Gone (the resource at the URL for this asynchronous response is no longer available and will likely not be available again)"
        },
        "413": {
            "description": "Payload Too Large (Send a smaller payload)"
        },
        "429": {
            "description": "Too Many Requests"
        },
        "500": {
            "description": "Internal server error (Something went wrong, contact Mitel Support if this problem is persistent)"
        }
    },
    "paths": {
        "/accounts/{id}": {
            "get": {
                "operationId": "getAccount",
                "summary": "Retrieves an Account by ID",
                "description": "This operation retrieves a Account entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "Phase 3 Routes"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the Account",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "$ref": "#/parameters/expandParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/account"
                        },
                        "examples": {
                            "application/json": {
                                "@type": "PartyAccount",
                                "@baseType": "Account",
                                "@schemaLocation": "/2022-01-30/_spec",
                                "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                "name": "Account Name",
                                "lastModified": "2021-07-26",
                                "description": "soldto Company Account",
                                "state": "Active",
                                "relatedParties": [
                                    {
                                        "role": "payer",
                                        "@referredType": "Organization",
                                        "_links": {
                                            "party": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                        },
                                        "_embedded": {
                                            "party": {
                                                "@type": "Organization",
                                                "@baseType": "Party",
                                                "@schemaLocation": "/2022-01-30/_spec",
                                                "id": "2c92a00a766fb6400176722089960c4f",
                                                "name": "Company",
                                                "nameType": "Co",
                                                "organizationType": "company",
                                                "_links": {
                                                    "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                }
                                            }
                                        }
                                    }
                                ],
                                "_links": {
                                    "self": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        },
        "/bills": {
            "get": {
                "operationId": "getCustomerBills",
                "summary": "Get customer bill objects",
                "description": "This operation gets customer bill entities. Basic paging and filtering support is available.",
                "tags": [
                    "Phase 3 Routes"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "$filter",
                        "description": "Odata filter param, use this to filter the results to match properties e.g '$filter=active eq true'.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "$ref": "#/parameters/expandParam"
                    },
                    {
                        "$ref": "#/parameters/topParam"
                    },
                    {
                        "$ref": "#/parameters/skipTokenParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/customerBillCollection"
                        },
                        "examples": {
                            "application/json": {
                                "count": 1,
                                "_links": {
                                    "self": "/2022-01-30/customer/bills?$top=100"
                                },
                                "_embedded": {
                                    "items": [
                                        {
                                            "@type": "CustomerBill",
                                            "@baseType": "Entity",
                                            "@schemaLocation": "/2022-01-30/_spec",
                                            "id": "2c92a00b778c65ae0177919ca87f3680",
                                            "billNo": "INV00003638",
                                            "state": "settled",
                                            "billDate": "2021-02-11",
                                            "lastUpdate": "2021-08-04",
                                            "paymentDueDate": "2021-02-11",
                                            "nextBillDate": "2021-03-05",
                                            "runType": "onCycle",
                                            "billingPeriod": {
                                                "endDateTime": "2021-02-05",
                                                "startDateTime": "2021-01-05"
                                            },
                                            "amountDue": {
                                                "unit": "EUR",
                                                "value": 24.52
                                            },
                                            "remainingAmount": {
                                                "unit": "EUR",
                                                "value": 0
                                            },
                                            "taxIncludedAmount": {
                                                "unit": "EUR",
                                                "value": 0
                                            },
                                            "taxExcludedAmount": {
                                                "unit": "EUR",
                                                "value": 0
                                            },
                                            "taxItem": [],
                                            "billItems": [
                                                {
                                                    "quantity": {
                                                        "amount": 1,
                                                        "units": "PC"
                                                    },
                                                    "description": "MiTeam Meetings for MOWA/MOMA - Annual",
                                                    "_links": {
                                                        "item": "/2022-01-30/appliedCustomerBillingRate/28368244-0beb-4460-b8fe-bd678f093e57"
                                                    },
                                                    "_embedded": {
                                                        "item": {
                                                            "@type": "AppliedCustomerBillingRate",
                                                            "@baseType": "Entity",
                                                            "@schemaLocation": "/2022-01-30/_spec",
                                                            "date": "2020-02-11",
                                                            "description": "MiTeam Meetings for MOWA/MOMA - Annual",
                                                            "name": "Recurring charge",
                                                            "isBilled": true,
                                                            "type": "recurring",
                                                            "appliedTax": [],
                                                            "periodCoverage": {
                                                                "endDateTime": "2022-02-11",
                                                                "startDateTime": "2021-02-11"
                                                            },
                                                            "taxIncludedAmount": {
                                                                "unit": "EUR",
                                                                "value": 0
                                                            },
                                                            "taxExcludedAmount": {
                                                                "unit": "EUR",
                                                                "value": 0
                                                            },
                                                            "characteristics": [
                                                                {
                                                                    "name": "cpqTrackingId",
                                                                    "value": "",
                                                                    "valueType": "string"
                                                                },
                                                                {
                                                                    "name": "salesOrderNumber",
                                                                    "value": "0003413063",
                                                                    "valueType": "string"
                                                                },
                                                                {
                                                                    "name": "vendorPurchaseOrderNumber",
                                                                    "value": "4501920549",
                                                                    "valueType": "string"
                                                                },
                                                                {
                                                                    "name": "resellerPartnerNumber",
                                                                    "value": "0000368844",
                                                                    "valueType": "string"
                                                                },
                                                                {
                                                                    "name": "slsSerialNumber",
                                                                    "value": "",
                                                                    "valueType": "string"
                                                                }
                                                            ],
                                                            "_links": {
                                                                "bill": "/2022-01-30/bills/8ad084a67d2daec4017d2e35df664f20",
                                                                "billingAccount": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d",
                                                                "product": "/2022-01-30/product/8ad084a67d2daec4017d2e35df814f25"
                                                            }
                                                        }
                                                    }
                                                }
                                            ],
                                            "appliedPayments": [
                                                {
                                                    "appliedAmount": {
                                                        "unit": "EUR",
                                                        "value": 24.52
                                                    },
                                                    "_links": {
                                                        "payment": "/2022-01-30/payments/e66598d1-4b98-4e08-be7d-7ecb7b4eaf5f"
                                                    },
                                                    "_embedded": {
                                                        "payment": {
                                                            "id": "e66598d1-4b98-4e08-be7d-7ecb7b4eaf5f",
                                                            "correlatorId": "1422002940",
                                                            "description": "Incoming payment",
                                                            "name": "1422002940",
                                                            "paymentDate": "2021-03-31",
                                                            "status": "cleared",
                                                            "statusDate": "2021-03-21",
                                                            "amount": {
                                                                "unit": "EUR",
                                                                "value": 77318.55
                                                            },
                                                            "payer": {
                                                                "role": "payer",
                                                                "@referredType": "Organization",
                                                                "_links": {
                                                                    "party": "/2022-01-30/organizations"
                                                                },
                                                                "_embedded": {
                                                                    "party": {
                                                                        "@type": "Organization",
                                                                        "@baseType": "Party",
                                                                        "@schemaLocation": "/2022-01-30/_spec",
                                                                        "id": "2c92a00a766fb6400176722089960c4f",
                                                                        "name": "Company",
                                                                        "nameType": "Co",
                                                                        "organizationType": "company",
                                                                        "_links": {
                                                                            "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "_links": {
                                                                "self": "/2022-01-30/payments/0a2e8a34-f18d-4df2-8efe-2d8475984e92",
                                                                "account": "/2022-01-30/accounts/0a2e8a34-f18d-4df2-8efe-2d8475984e92"
                                                            },
                                                            "_embedded": {
                                                                "account": {
                                                                    "@type": "PartyAccount",
                                                                    "@baseType": "Account",
                                                                    "@schemaLocation": "/2022-01-30/_spec",
                                                                    "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                                                    "name": "Account Name",
                                                                    "lastModified": "2021-07-26",
                                                                    "description": "Payment Company Account",
                                                                    "state": "Active",
                                                                    "relatedParties": [
                                                                        {
                                                                            "role": "payer",
                                                                            "@referredType": "Organization",
                                                                            "_links": {
                                                                                "party": "/2022-01-30/organizations"
                                                                            },
                                                                            "_embedded": {
                                                                                "party": {
                                                                                    "@type": "Organization",
                                                                                    "@baseType": "Party",
                                                                                    "@schemaLocation": "/2022-01-30/_spec",
                                                                                    "id": "2c92a00a766fb6400176722089960c4f",
                                                                                    "name": "Company",
                                                                                    "nameType": "Co",
                                                                                    "organizationType": "company",
                                                                                    "_links": {
                                                                                        "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    ],
                                                                    "_links": {
                                                                        "self": "/2022-01-30/payments/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            ],
                                            "relatedParties": [
                                                {
                                                    "role": "payer",
                                                    "@referredType": "Organization",
                                                    "_links": {
                                                        "party": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                    },
                                                    "_embedded": {
                                                        "party": {
                                                            "@type": "Organization",
                                                            "@baseType": "Party",
                                                            "@schemaLocation": "/2022-01-30/_spec",
                                                            "id": "2c92a00a766fb6400176722089960c4f",
                                                            "name": "Company",
                                                            "nameType": "Co",
                                                            "organizationType": "company",
                                                            "_links": {
                                                                "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                            }
                                                        }
                                                    }
                                                },  {
                                                    "role": "reseller",
                                                    "@referredType": "Organization",
                                                    "_links": {
                                                        "party": "/2022-01-30/organizations/2c92a00a711b330901711d052f8545c2"
                                                    },
                                                    "_embedded": {
                                                        "party": {
                                                            "@type": "Organization",
                                                            "@baseType": "Party",
                                                            "@schemaLocation": "/2022-01-30/_spec",
                                                            "id": "2c92a00a711b330901711d052f8545c2",
                                                            "name": "Company",
                                                            "nameType": "Co",
                                                            "organizationType": "company",
                                                            "_links": {
                                                                "self": "/2022-01-30/organizations/2c92a00a711b330901711d052f8545c2"
                                                            }
                                                        }
                                                    }
                                                }

                                            ],
                                            "_links": {
                                                "self": "/2022-01-30/bills/8ad084a67d2daec4017d2e35df664f20",
                                                "billingAccount": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d",
                                                "financialAccount": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                            },
                                            "_embedded": {
                                                "billCycle": {
                                                    "@type": "BillCycle",
                                                    "@baseType": "Extensible",
                                                    "@schemaLocation": "/2022-01-30/_spec",
                                                    "billingDate": "2021-02-11",
                                                    "billingPeriod": "February",
                                                    "chargeDate": "2021-03-31",
                                                    "creditDate": "",
                                                    "name": "february regular bill run",
                                                    "description": "regular bill run",
                                                    "mailingDate": "2021-02-05",
                                                    "paymentDueDate": "2021-02-11",
                                                    "validFor": {
                                                        "endDateTime": "2021-02-05",
                                                        "startDateTime": "2021-01-05"
                                                    }
                                                },
                                                "billingAccount": {
                                                    "@type": "PartyAccount",
                                                    "@baseType": "Account",
                                                    "@schemaLocation": "/2022-01-30/_spec",
                                                    "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                                    "name": "Account Name",
                                                    "lastModified": "2021-07-26",
                                                    "description": "soldto Company Account",
                                                    "state": "Active",
                                                    "relatedParties": [
                                                        {
                                                            "role": "payer",
                                                            "@referredType": "Organization",
                                                            "_links": {
                                                                "party": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                            },
                                                            "_embedded": {
                                                                "party": {
                                                                    "@type": "Organization",
                                                                    "@baseType": "Party",
                                                                    "@schemaLocation": "/2022-01-30/_spec",
                                                                    "id": "2c92a00a766fb6400176722089960c4f",
                                                                    "name": "Company",
                                                                    "nameType": "Co",
                                                                    "organizationType": "company",
                                                                    "_links": {
                                                                        "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    ],
                                                    "_links": {
                                                        "self": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                                    }
                                                },
                                                "financialAccount": {
                                                    "@type": "PartyAccount",
                                                    "@baseType": "Account",
                                                    "@schemaLocation": "/2022-01-30/_spec",
                                                    "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                                    "name": "Account Name",
                                                    "lastModified": "2021-07-26",
                                                    "description": "soldto Company Account",
                                                    "state": "Active",
                                                    "relatedParties": [
                                                        {
                                                            "role": "payer",
                                                            "@referredType": "Organization",
                                                            "_links": {
                                                                "party": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                            },
                                                            "_embedded": {
                                                                "party": {
                                                                    "@type": "Organization",
                                                                    "@baseType": "Party",
                                                                    "@schemaLocation": "/2022-01-30/_spec",
                                                                    "id": "2c92a00a766fb6400176722089960c4f",
                                                                    "name": "Company",
                                                                    "nameType": "Co",
                                                                    "organizationType": "company",
                                                                    "_links": {
                                                                        "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    ],
                                                    "_links": {
                                                        "self": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                                    }
                                                }
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "headers": {
                            "Retry-After": {
                                "description": "The length of time in millisecond that a client should wait before re-attempting the request",
                                "type": "integer"
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        },
        "/bills/{id}": {
            "get": {
                "operationId": "getCustomerBill",
                "summary": "Retrieves a customer bill by ID",
                "description": "This operation retrieves a customer bill entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "Phase 3 Routes"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the customer bill",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "$ref": "#/parameters/expandParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/customerBill"
                        },
                        "examples": {
                            "application/json": {
                                "@type": "CustomerBill",
                                "@baseType": "Entity",
                                "@schemaLocation": "/2022-01-30/_spec",
                                "id": "2c92a00b778c65ae0177919ca87f3680",
                                "billNo": "INV00003638",
                                "state": "settled",
                                "billDate": "2021-02-11",
                                "lastUpdate": "2021-08-04",
                                "paymentDueDate": "2021-02-11",
                                "nextBillDate": "2021-03-05",
                                "runType": "onCycle",
                                "billingPeriod": {
                                    "endDateTime": "2021-02-05",
                                    "startDateTime": "2021-01-05"
                                },
                                "amountDue": {
                                    "unit": "EUR",
                                    "value": 24.52
                                },
                                "remainingAmount": {
                                    "unit": "EUR",
                                    "value": 0
                                },
                                "taxIncludedAmount": {
                                    "unit": "EUR",
                                    "value": 0
                                },
                                "taxExcludedAmount": {
                                    "unit": "EUR",
                                    "value": 0
                                },
                                "taxItem": [],
                                "billItems": [
                                    {
                                        "quantity": {
                                            "amount": 1,
                                            "units": "PC"
                                        },
                                        "description": "MiTeam Meetings for MOWA/MOMA - Annual",
                                        "_links": {
                                            "item": "/2022-01-30/appliedCustomerBillingRate/28368244-0beb-4460-b8fe-bd678f093e57"
                                        },
                                        "_embedded": {
                                            "item": {
                                                "@type": "AppliedCustomerBillingRate",
                                                "@baseType": "Entity",
                                                "@schemaLocation": "/2022-01-30/_spec",
                                                "date": "2020-02-11",
                                                "description": "MiTeam Meetings for MOWA/MOMA - Annual",
                                                "name": "Recurring charge",
                                                "type": "recurring",
                                                "appliedTax": [],
                                                "periodCoverage": {
                                                    "endDateTime": "2022-02-11",
                                                    "startDateTime": "2021-02-11"
                                                },
                                                "taxIncludedAmount": {
                                                    "unit": "EUR",
                                                    "value": 0
                                                },
                                                "taxExcludedAmount": {
                                                    "unit": "EUR",
                                                    "value": 0
                                                },
                                                "characteristics": [
                                                    {
                                                        "name": "cpqTrackingId",
                                                        "value": "",
                                                        "valueType": "string"
                                                    },
                                                    {
                                                        "name": "salesOrderNumber",
                                                        "value": "0003413063",
                                                        "valueType": "string"
                                                    },
                                                    {
                                                        "name": "vendorPurchaseOrderNumber",
                                                        "value": "4501920549",
                                                        "valueType": "string"
                                                    },
                                                    {
                                                        "name": "resellerPartnerNumber",
                                                        "value": "0000368844",
                                                        "valueType": "string"
                                                    },
                                                    {
                                                        "name": "slsSerialNumber",
                                                        "value": "",
                                                        "valueType": "string"
                                                    }
                                                ],
                                                "_links": {
                                                    "bill": "/2022-01-30/bills/8ad084a67d2daec4017d2e35df664f20",
                                                    "billingAccount": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d",
                                                    "product": "/2022-01-30/product/8ad084a67d2daec4017d2e35df814f25"
                                                }
                                            }
                                        }
                                    }
                                ],
                                "appliedPayments": [
                                    {
                                        "appliedAmount": {
                                            "unit": "EUR",
                                            "value": 24.52
                                        },
                                        "_links": {
                                            "payment": "/2022-01-30/payments/e66598d1-4b98-4e08-be7d-7ecb7b4eaf5f"
                                        },
                                        "_embedded": {
                                            "payment": {
                                                "id": "e66598d1-4b98-4e08-be7d-7ecb7b4eaf5f",
                                                "correlatorId": "1422002940",
                                                "description": "Incoming payment",
                                                "name": "1422002940",
                                                "paymentDate": "2021-03-31",
                                                "status": "cleared",
                                                "statusDate": "2021-03-21",
                                                "amount": {
                                                    "unit": "EUR",
                                                    "value": 77318.55
                                                },
                                                "payer": {
                                                    "role": "payer",
                                                    "@referredType": "Organization",
                                                    "_links": {
                                                        "party": "/2022-01-30/organizations"
                                                    },
                                                    "_embedded": {
                                                        "party": {
                                                            "@type": "Organization",
                                                            "@baseType": "Party",
                                                            "@schemaLocation": "/2022-01-30/_spec",
                                                            "id": "2c92a00a766fb6400176722089960c4f",
                                                            "name": "Company",
                                                            "nameType": "Co",
                                                            "organizationType": "company",
                                                            "_links": {
                                                                "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                            }
                                                        }
                                                    }
                                                },
                                                "_links": {
                                                    "self": "/2022-01-30/payments/0a2e8a34-f18d-4df2-8efe-2d8475984e92",
                                                    "account": "/2022-01-30/accounts/0a2e8a34-f18d-4df2-8efe-2d8475984e92"
                                                },
                                                "_embedded": {
                                                    "account": {
                                                        "@type": "PartyAccount",
                                                        "@baseType": "Account",
                                                        "@schemaLocation": "/2022-01-30/_spec",
                                                        "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                                        "name": "Account Name",
                                                        "lastModified": "2021-07-26",
                                                        "description": "Payment Company Account",
                                                        "state": "Active",
                                                        "relatedParties": [
                                                            {
                                                                "role": "payer",
                                                                "@referredType": "Organization",
                                                                "_links": {
                                                                    "party": "/2022-01-30/organizations"
                                                                },
                                                                "_embedded": {
                                                                    "party": {
                                                                        "@type": "Organization",
                                                                        "@baseType": "Party",
                                                                        "@schemaLocation": "/2022-01-30/_spec",
                                                                        "id": "2c92a00a766fb6400176722089960c4f",
                                                                        "name": "Company",
                                                                        "nameType": "Co",
                                                                        "organizationType": "company",
                                                                        "_links": {
                                                                            "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        ],
                                                        "_links": {
                                                            "self": "/2022-01-30/payments/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                ],
                                "relatedParties": [
                                    {
                                        "role": "payer",
                                        "@referredType": "Organization",
                                        "_links": {
                                            "party": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                        },
                                        "_embedded": {
                                            "party": {
                                                "@type": "Organization",
                                                "@baseType": "Party",
                                                "@schemaLocation": "/2022-01-30/_spec",
                                                "id": "2c92a00a766fb6400176722089960c4f",
                                                "name": "Company",
                                                "nameType": "Co",
                                                "organizationType": "company",
                                                "_links": {
                                                    "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                }
                                            }
                                        }
                                    },  {
                                        "role": "reseller",
                                        "@referredType": "Organization",
                                        "_links": {
                                            "party": "/2022-01-30/organizations/2c92a00a711b330901711d052f8545c2"
                                        },
                                        "_embedded": {
                                            "party": {
                                                "@type": "Organization",
                                                "@baseType": "Party",
                                                "@schemaLocation": "/2022-01-30/_spec",
                                                "id": "2c92a00a711b330901711d052f8545c2",
                                                "name": "Company",
                                                "nameType": "Co",
                                                "organizationType": "company",
                                                "_links": {
                                                    "self": "/2022-01-30/organizations/2c92a00a711b330901711d052f8545c2"
                                                }
                                            }
                                        }
                                    }

                                ],
                                "_links": {
                                    "self": "/2022-01-30/bills/8ad084a67d2daec4017d2e35df664f20",
                                    "billingAccount": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d",
                                    "financialAccount": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                },
                                "_embedded": {
                                    "billCycle": {
                                        "@type": "BillCycle",
                                        "@baseType": "Extensible",
                                        "@schemaLocation": "/2022-01-30/_spec",
                                        "billingDate": "2021-02-11",
                                        "billingPeriod": "February",
                                        "chargeDate": "2021-03-31",
                                        "creditDate": "",
                                        "name": "february regular bill run",
                                        "description": "regular bill run",
                                        "mailingDate": "2021-02-05",
                                        "paymentDueDate": "2021-02-11",
                                        "validFor": {
                                            "endDateTime": "2021-02-05",
                                            "startDateTime": "2021-01-05"
                                        }
                                    },
                                    "billingAccount": {
                                        "@type": "PartyAccount",
                                        "@baseType": "Account",
                                        "@schemaLocation": "/2022-01-30/_spec",
                                        "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                        "name": "Account Name",
                                        "lastModified": "2021-07-26",
                                        "description": "soldto Company Account",
                                        "state": "Active",
                                        "relatedParties": [
                                            {
                                                "role": "payer",
                                                "@referredType": "Organization",
                                                "_links": {
                                                    "party": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                },
                                                "_embedded": {
                                                    "party": {
                                                        "@type": "Organization",
                                                        "@baseType": "Party",
                                                        "@schemaLocation": "/2022-01-30/_spec",
                                                        "id": "2c92a00a766fb6400176722089960c4f",
                                                        "name": "Company",
                                                        "nameType": "Co",
                                                        "organizationType": "company",
                                                        "_links": {
                                                            "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                        }
                                                    }
                                                }
                                            }
                                        ],
                                        "_links": {
                                            "self": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                        }
                                    },
                                    "financialAccount": {
                                        "@type": "PartyAccount",
                                        "@baseType": "Account",
                                        "@schemaLocation": "/2022-01-30/_spec",
                                        "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                        "name": "Account Name",
                                        "lastModified": "2021-07-26",
                                        "description": "soldto Company Account",
                                        "state": "Active",
                                        "relatedParties": [
                                            {
                                                "role": "payer",
                                                "@referredType": "Organization",
                                                "_links": {
                                                    "party": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                },
                                                "_embedded": {
                                                    "party": {
                                                        "@type": "Organization",
                                                        "@baseType": "Party",
                                                        "@schemaLocation": "/2022-01-30/_spec",
                                                        "id": "2c92a00a766fb6400176722089960c4f",
                                                        "name": "Company",
                                                        "nameType": "Co",
                                                        "organizationType": "company",
                                                        "_links": {
                                                            "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                        }
                                                    }
                                                }
                                            }
                                        ],
                                        "_links": {
                                            "self": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        },
        "/orders": {
            "get": {
                "operationId": "getProductOrders",
                "summary": "Get product order objects",
                "description": "This operation gets product order entities. Basic paging and filtering support is available.",
                "tags": [
                    "Phase 2 Routes"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/expandParam"
                    },
                    {
                        "$ref": "#/parameters/topParam"
                    },
                    {
                        "$ref": "#/parameters/skipTokenParam"
                    },
                    {
                        "name": "$filter",
                        "in": "query",
                        "description": "Odata filter param, use  this to filter the results to match properties e.g '$filter=active eq true'.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/productOrderCollection"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "headers": {
                            "Retry-After": {
                                "description": "The length of time in millisecond that a client should wait before re-attempting the request",
                                "type": "integer"
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            },
            "post": {
                "operationId": "createProductOrder",
                "summary": "Create a Product Order for submission",
                "description": "This operation creates a Product Order entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "Phase 2 Routes"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/productOrderPostRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/productOrder"
                        },
                        "examples": {
                            "application/json": {
                                "id": "406bce1c-8861-4cc4-b52d-477ee5f48d3e",
                                "description": "Description of the product order",
                                "requestedStartDate": "2022-06-02T21:15:37.507Z",
                                "externalId": "SamTestTrustUser5",
                                "notificationContact": "trustuser@mitel-test.com",
                                "orderDate": "2022-06-02T21:15:37.507Z",
                                "requestedCompletionDate": "2022-06-02T21:15:37.507Z",
                                "priority": 1,
                                "@type": "ProductOrder",
                                "@schemaLocation": "/2022-01-30/_spec",
                                "billingAccountId": "0000146034",
                                "state": "completed",
                                "characteristics": [
                                    {
                                        "name": "distributorReference",
                                        "value": "purchase order"
                                    },
                                    {
                                        "name": "billingMethod",
                                        "value": "purchase order"
                                    },
                                    {
                                        "name": "resellerPONumber",
                                        "value": "010203"
                                    },
                                    {
                                        "name": "orderNumber",
                                        "value": "0003581618"
                                    }
                                ],
                                "productOrderItems": [
                                    {
                                        "id": "001",
                                        "productOrderItemRelationship": "product",
                                        "action": "add",
                                        "itemPrices": [
                                            {
                                                "@type": "OrderPrice",
                                                "priceType": "Recurring",
                                                "unitOfMeasure": "Each",
                                                "recurringChargePeriod": "Five Years",
                                                "price": {
                                                    "type": "ProductPrice",
                                                    "dutyFreeAmount": {
                                                        "unit": "GBP",
                                                        "value": 0
                                                    }
                                                },
                                                "priceAlterations": [
                                                    {
                                                        "name": "Standard Discount",
                                                        "@type": "PriceAlteration",
                                                        "applicationDuration": 1,
                                                        "description": "Discount-Percentage",
                                                        "priority": 1,
                                                        "unitOfMeasure": "Each",
                                                        "recurringChargePeriod": "Five Years",
                                                        "priceType": "Recurring",
                                                        "price": {
                                                            "type": "Price",
                                                            "percentage": 55,
                                                            "schemaLocation": "/2022-01-30/_spec"
                                                        },
                                                        "@schemaLocation": "/2022-01-30/_spec"
                                                    },
                                                    {
                                                        "name": "SPA discount",
                                                        "@type": "PriceAlteration",
                                                        "applicationDuration": 1,
                                                        "description": "Discount-Percentage",
                                                        "priority": 2,
                                                        "unitOfMeasure": "Each",
                                                        "recurringChargePeriod": "Five Years",
                                                        "priceType": "Recurring",
                                                        "price": {
                                                            "type": "Price",
                                                            "percentage": 0,
                                                            "schemaLocation": "/2022-01-30/_spec"
                                                        },
                                                        "@schemaLocation": "/2022-01-30/_spec"
                                                    }
                                                ],
                                                "@schemaLocation": "/2022-01-30/_spec"
                                            }
                                        ],
                                        "@type": "productOrderItem",
                                        "@schemaLocation": "/2022-01-30/_spec"
                                    }
                                ],
                                "_links": {
                                    "self": "/2022-01-30/productOrders/406bce1c-8861-4cc4-b52d-477ee5f48d3e",
                                    "agreement": "/2022-01-30/agreements/8ad09b7d80febf0f018120c92e212fe5",
                                    "quotes": [
                                        "/2022-01-30/quotes/eed82d80-b9db-4768-9f81-e964e365dab1"
                                    ]
                                },
                                "_embedded": {
                                    "agreement": {
                                        "id": "8ad09b7d80febf0f018120c92e212fe5",
                                        "name": "A-S00025527",
                                        "type": "Agreement",
                                        "agreementType": "subscription",
                                        "description": "MiTeam Meetings",
                                        "initialDate": "2022-06-01",
                                        "status": "Active",
                                        "version": 1,
                                        "agreementPeriod": {
                                            "startDateTime": "2022-06-01"
                                        },
                                        "characteristics": [
                                            {
                                                "name": "autoRenew",
                                                "value": false
                                            },
                                            {
                                                "name": "currentTermType",
                                                "value": "Month"
                                            },
                                            {
                                                "name": "initialTermType",
                                                "value": "Month"
                                            },
                                            {
                                                "name": "sapOrderId",
                                                "value": "0003581616"
                                            }
                                        ],
                                        "agreementItems": [
                                            {
                                                "_links": {
                                                    "products": [
                                                        "/2022-01-30/products/8ad09b7d80febf0f018120c92e662ff5"
                                                    ]
                                                },
                                                "termOrConditions": [
                                                    {
                                                        "description": "Initial Purchase",
                                                        "quantity": {
                                                            "amount": 10,
                                                            "units": "Each"
                                                        }
                                                    }
                                                ]
                                            }
                                        ],
                                        "engagedParties": [
                                            {
                                                "role": "invoiceOwner",
                                                "referredType": "organization",
                                                "_links": {
                                                    "party": "/2022-01-30/organizations/2c92c0fa757974ec0175904d89666b1f"
                                                }
                                            },
                                            {
                                                "role": "accountOwner",
                                                "referredType": "organization",
                                                "_links": {
                                                    "party": "/2022-01-30/organizations/2c92c0fa757974ec0175904d89666b1f"
                                                }
                                            }
                                        ],
                                        "schemaLocation": "/2022-01-30/_spec",
                                        "_links": {
                                            "self": "/2022-01-30/agreements/8ad09b7d80febf0f018120c92e212fe5"
                                        }
                                    },
                                    "quotes": [
                                        {
                                            "id": "eed82d80-b9db-4768-9f81-e964e365dab1",
                                            "effectiveQuoteCompletionDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                            "expectedFulfillmentStartDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                            "quoteDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                            "validFor": {
                                                "startDateTime": "Jan 1, 10000, 1:00:00 AM CET",
                                                "endDateTime": "Sep 26, 2017, 1:00:00 AM CEST"
                                            },
                                            "characteristics": [
                                                {
                                                    "name": "sfdcQuoteNumber",
                                                    "value": "00039656"
                                                },
                                                {
                                                    "name": "cpqTrackingId",
                                                    "value": "Up7MMRkhbNu_RCpPtLrAEQ"
                                                },
                                                {
                                                    "name": "uniqueDealId",
                                                    "value": "MANO-OFNZ-DLUW"
                                                }
                                            ],
                                            "quoteItems": [
                                                {
                                                    "id": "c7c81b88-fe43-4cdb-a356-891d3d60f4d5",
                                                    "quoteItemRelationship": "product",
                                                    "action": "add",
                                                    "quantity": 40,
                                                    "quotePrice": {
                                                        "priceType": "Recurring",
                                                        "recurringChargePeriod": "Subscription_Term",
                                                        "name": "MiVO400 Sub Elite User – A",
                                                        "unitOfMeature": "Each",
                                                        "price": {
                                                            "dutyFreeAmount": {
                                                                "unit": "CAD",
                                                                "value": 0
                                                            }
                                                        },
                                                        "priceAlterations": [
                                                            {
                                                                "applicationDuration": "1",
                                                                "name": "SPA Discount",
                                                                "priceType": "Recurring",
                                                                "priority": "1",
                                                                "recurringChargePeriod": "Annual",
                                                                "unitOfMeasure": "each"
                                                            },
                                                            {
                                                                "applicationDuration": "1",
                                                                "name": "Standard Discount",
                                                                "priceType": "Recurring",
                                                                "priority": "2",
                                                                "recurringChargePeriod": "Annual",
                                                                "unitOfMeasure": "each"
                                                            }
                                                        ]
                                                    }
                                                }
                                            ],
                                            "_links": {
                                                "self": "/2022-01-30/quotes/eed82d80-b9db-4768-9f81-e964e365dab1"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "headers": {
                            "Retry-After": {
                                "description": "The length of time in millisecond that a client should wait before re-attempting the request",
                                "type": "integer"
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        },
        "/orders/{id}": {
            "get": {
                "operationId": "getProductOrder",
                "summary": "Retrieves a Product Order by ID",
                "description": "This operation retrieves a Product Order entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "Phase 2 Routes"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the Product",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "$ref": "#/parameters/expandParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/productOrder"
                        },
                        "examples": {
                            "application/json": {
                                "id": "406bce1c-8861-4cc4-b52d-477ee5f48d3e",
                                "description": "Description of the product order",
                                "requestedStartDate": "2022-06-02T21:15:37.507Z",
                                "externalId": "SamTestTrustUser5",
                                "notificationContact": "trustuser@mitel-test.com",
                                "orderDate": "2022-06-02T21:15:37.507Z",
                                "requestedCompletionDate": "2022-06-02T21:15:37.507Z",
                                "priority": 1,
                                "@type": "ProductOrder",
                                "@schemaLocation": "/2022-01-30/_spec",
                                "billingAccountId": "0000146034",
                                "state": "completed",
                                "characteristics": [
                                    {
                                        "name": "distributorReference",
                                        "valueType": "string",
                                        "value": "purchase order"
                                    },
                                    {
                                        "name": "billingMethod",
                                        "valueType": "string",
                                        "value": "purchase order"
                                    },
                                    {
                                        "name": "resellerPONumber",
                                        "valueType": "string",
                                        "value": "010203"
                                    },
                                    {
                                        "name": "orderNumber",
                                        "valueType": "string",
                                        "value": "0003581618"
                                    },
                                    {
                                        "name": "agreementName",
                                        "valueType": "string",
                                        "value": "A-S00025527"
                                    },
                                    {
                                        "name": "cpqTrackingId",
                                        "valueType": "string",
                                        "value": "Up7MMRkhbNu_RCpPtLrAEQ"
                                    }
                                ],
                                "productOrderItems": [
                                    {
                                        "id": "001",
                                        "quantity": 10,
                                        "productOrderItemRelationship": "product",
                                        "action": "noChange",
                                        "@type": "productOrderItem",
                                        "@schemaLocation": "/2022-01-30/_spec",
                                        "characteristics": [
                                            {
                                                "name": "partNumber",
                                                "value": "54010538"
                                            }
                                        ],
                                        "itemPrices": [
                                            {
                                                "@type": "OrderPrice",
                                                "priceType": "Recurring",
                                                "unitOfMeasure": "Each",
                                                "recurringChargePeriod": "Five Years",
                                                "price": {
                                                    "type": "ProductPrice",
                                                    "dutyFreeAmount": {
                                                        "unit": "GBP",
                                                        "value": 0
                                                    }
                                                },
                                                "priceAlterations": [
                                                    {
                                                        "name": "Standard Discount",
                                                        "@type": "PriceAlteration",
                                                        "applicationDuration": 1,
                                                        "description": "Discount-Percentage",
                                                        "priority": 1,
                                                        "unitOfMeasure": "Each",
                                                        "recurringChargePeriod": "Five Years",
                                                        "priceType": "Recurring",
                                                        "price": {
                                                            "type": "Price",
                                                            "percentage": 55,
                                                            "schemaLocation": "/2022-01-30/_spec"
                                                        },
                                                        "@schemaLocation": "/2022-01-30/_spec"
                                                    },
                                                    {
                                                        "name": "SPA discount",
                                                        "@type": "PriceAlteration",
                                                        "applicationDuration": 1,
                                                        "description": "Discount-Percentage",
                                                        "priority": 2,
                                                        "unitOfMeasure": "Each",
                                                        "recurringChargePeriod": "Five Years",
                                                        "priceType": "Recurring",
                                                        "price": {
                                                            "type": "Price",
                                                            "percentage": 0,
                                                            "schemaLocation": "/2022-01-30/_spec"
                                                        },
                                                        "@schemaLocation": "/2022-01-30/_spec"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                ],
                                "_links": {
                                    "self": "/2022-01-30/productOrders/406bce1c-8861-4cc4-b52d-477ee5f48d3e",
                                    "agreement": "/2022-01-30/agreements/8ad09b7d80febf0f018120c92e212fe5",
                                    "quotes": [
                                        "/2022-01-30/quotes/eed82d80-b9db-4768-9f81-e964e365dab1"
                                    ]
                                },
                                "_embedded": {
                                    "agreement": {
                                        "id": "8ad09b7d80febf0f018120c92e212fe5",
                                        "name": "A-S00025527",
                                        "type": "Agreement",
                                        "agreementType": "subscription",
                                        "description": "MiTeam Meetings",
                                        "initialDate": "2022-06-01",
                                        "status": "Active",
                                        "version": 1,
                                        "agreementPeriod": {
                                            "startDateTime": "2022-06-01"
                                        },
                                        "characteristics": [
                                            {
                                                "name": "autoRenew",
                                                "value": false
                                            },
                                            {
                                                "name": "currentTermType",
                                                "value": "Month"
                                            },
                                            {
                                                "name": "initialTermType",
                                                "value": "Month"
                                            },
                                            {
                                                "name": "sapOrderId",
                                                "value": "0003581616"
                                            }
                                        ],
                                        "agreementItems": [
                                            {
                                                "_links": {
                                                    "products": [
                                                        "/2022-01-30/products/8ad09b7d80febf0f018120c92e662ff5"
                                                    ]
                                                },
                                                "termOrConditions": [
                                                    {
                                                        "description": "Initial Purchase",
                                                        "quantity": {
                                                            "amount": 10,
                                                            "units": "Each"
                                                        }
                                                    }
                                                ]
                                            }
                                        ],
                                        "engagedParties": [
                                            {
                                                "role": "invoiceOwner",
                                                "referredType": "organization",
                                                "_links": {
                                                    "party": "/2022-01-30/organizations/2c92c0fa757974ec0175904d89666b1f"
                                                }
                                            },
                                            {
                                                "role": "accountOwner",
                                                "referredType": "organization",
                                                "_links": {
                                                    "party": "/2022-01-30/organizations/2c92c0fa757974ec0175904d89666b1f"
                                                }
                                            }
                                        ],
                                        "schemaLocation": "/2022-01-30/_spec",
                                        "_links": {
                                            "self": "/2022-01-30/agreements/8ad09b7d80febf0f018120c92e212fe5"
                                        }
                                    },
                                    "quotes": [
                                        {
                                            "id": "eed82d80-b9db-4768-9f81-e964e365dab1",
                                            "effectiveQuoteCompletionDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                            "expectedFulfillmentStartDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                            "quoteDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                            "validFor": {
                                                "startDateTime": "Jan 1, 10000, 1:00:00 AM CET",
                                                "endDateTime": "Sep 26, 2017, 1:00:00 AM CEST"
                                            },
                                            "characteristics": [
                                                {
                                                    "name": "sfdcQuoteNumber",
                                                    "value": "00039656"
                                                },
                                                {
                                                    "name": "cpqTrackingId",
                                                    "value": "Up7MMRkhbNu_RCpPtLrAEQ"
                                                },
                                                {
                                                    "name": "uniqueDealId",
                                                    "value": "MANO-OFNZ-DLUW"
                                                }
                                            ],
                                            "quoteItems": [
                                                {
                                                    "id": "c7c81b88-fe43-4cdb-a356-891d3d60f4d5",
                                                    "quoteItemRelationship": "product",
                                                    "action": "add",
                                                    "quantity": 40,
                                                    "quotePrice": {
                                                        "priceType": "Recurring",
                                                        "recurringChargePeriod": "Subscription_Term",
                                                        "name": "MiVO400 Sub Elite User – A",
                                                        "unitOfMeature": "Each",
                                                        "price": {
                                                            "dutyFreeAmount": {
                                                                "unit": "CAD",
                                                                "value": 0
                                                            }
                                                        },
                                                        "priceAlterations": [
                                                            {
                                                                "applicationDuration": "1",
                                                                "name": "SPA Discount",
                                                                "priceType": "Recurring",
                                                                "priority": "1",
                                                                "recurringChargePeriod": "Annual",
                                                                "unitOfMeasure": "each"
                                                            },
                                                            {
                                                                "applicationDuration": "1",
                                                                "name": "Standard Discount",
                                                                "priceType": "Recurring",
                                                                "priority": "2",
                                                                "recurringChargePeriod": "Annual",
                                                                "unitOfMeasure": "each"
                                                            }
                                                        ]
                                                    }
                                                }
                                            ],
                                            "_links": {
                                                "self": "/2022-01-30/quotes/eed82d80-b9db-4768-9f81-e964e365dab1"
                                            }
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "headers": {
                            "Retry-After": {
                                "description": "The length of time in millisecond that a client should wait before re-attempting the request",
                                "type": "integer"
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        },
        "/payments/{id}": {
            "get": {
                "operationId": "getPayment",
                "summary": "Retrieves a Payment by ID",
                "description": "This operation retrieves a payment entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "Phase 3 Routes"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the payment",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "$ref": "#/parameters/expandParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/payment"
                        },
                        "examples": {
                            "application/json":
                            {
                                "id": "e66598d1-4b98-4e08-be7d-7ecb7b4eaf5f",
                                "correlatorId": "1422002940",
                                "description": "Incoming payment",
                                "name": "1422002940",
                                "paymentDate": "2021-03-31",
                                "status": "cleared",
                                "statusDate": "2021-03-21",
                                "amount": {
                                    "unit": "EUR",
                                    "value": 77318.55
                                },
                                "taxAmount": {
                                    "unit": "EUR",
                                    "value": 0
                                },
                                "totalAmount": {
                                    "unit": "EUR",
                                    "value": 77318.55
                                },
                                "paymentItems": [
                                    {
                                        "id": "001",
                                        "amount": {
                                            "unit": "EUR",
                                            "value": 24.52
                                        },
                                        "taxAmount": {
                                            "unit": "EUR",
                                            "value": 0
                                        },
                                        "totalAmount": {
                                            "unit": "EUR",
                                            "value": 24.52
                                        }
                                    }, {
                                        "id": "002",
                                        "amount": {
                                            "unit": "EUR",
                                            "value": 308.00
                                        },
                                        "taxAmount": {
                                            "unit": "EUR",
                                            "value": 0
                                        },
                                        "totalAmount": {
                                            "unit": "EUR",
                                            "value": 308.00
                                        }
                                    }
                                ],
                                "payer": {
                                    "role": "payer",
                                    "@referredType": "Organization",
                                    "_links": {
                                        "party": "/2022-01-30/organizations"
                                    },
                                    "_embedded": {
                                        "party": {
                                            "@type": "Organization",
                                            "@baseType": "Party",
                                            "@schemaLocation": "/2022-01-30/_spec",
                                            "id": "2c92a00a766fb6400176722089960c4f",
                                            "name": "Company",
                                            "nameType": "Co",
                                            "organizationType": "company",
                                            "_links": {
                                                "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                            }
                                        }
                                    }
                                },
                                "_links": {
                                    "self": "/2022-01-30/payments/0a2e8a34-f18d-4df2-8efe-2d8475984e92",
                                    "account": "/2022-01-30/accounts/0a2e8a34-f18d-4df2-8efe-2d8475984e92",
                                    "paymentMethod": ""
                                },
                                "_embedded": {
                                    "account": {
                                        "@type": "PartyAccount",
                                        "@baseType": "Account",
                                        "@schemaLocation": "/2022-01-30/_spec",
                                        "id": "778d95c3-3b71-4026-918c-70dc8d905d5d",
                                        "name": "Account Name",
                                        "lastModified": "2021-07-26",
                                        "description": "Payment Company Account",
                                        "state": "Active",
                                        "paymentStatus": "paid",
                                        "creditLimit": {
                                            "unit": "GBP",
                                            "value": 3425451.00
                                        },
                                        "relatedParties": [
                                            {
                                                "role": "payer",
                                                "@referredType": "Organization",
                                                "_links": {
                                                    "party": "/2022-01-30/organizations"
                                                },
                                                "_embedded": {
                                                    "party": {
                                                        "@type": "Organization",
                                                        "@baseType": "Party",
                                                        "@schemaLocation": "/2022-01-30/_spec",
                                                        "id": "2c92a00a766fb6400176722089960c4f",
                                                        "name": "Company",
                                                        "nameType": "Co",
                                                        "organizationType": "company",
                                                        "_links": {
                                                            "self": "/2022-01-30/organizations/2c92a00a766fb6400176722089960c4f"
                                                        }
                                                    }
                                                }
                                            }
                                        ],
                                        "_links": {
                                            "self": "/2022-01-30/accounts/778d95c3-3b71-4026-918c-70dc8d905d5d"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "headers": {
                            "Retry-After": {
                                "description": "The length of time in millisecond that a client should wait before re-attempting the request",
                                "type": "integer"
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        },
        "/quotes": {
            "get": {
                "operationId": "getQuotes",
                "summary": "Get product quote objects",
                "description": "This operation gets product quote entities. Basic paging and filtering support is available.",
                "tags": [
                    "Phase 2 Routes"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/expandParam"
                    },
                    {
                        "$ref": "#/parameters/topParam"
                    },
                    {
                        "$ref": "#/parameters/skipTokenParam"
                    },
                    {
                        "name": "$filter",
                        "in": "query",
                        "description": "Odata filter param, use  this to filter the results to match properties e.g '$filter=active eq true'.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/quoteCollection"
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "headers": {
                            "Retry-After": {
                                "description": "The length of time in millisecond that a client should wait before re-attempting the request",
                                "type": "integer"
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        },
        "/quotes/{id}": {
            "get": {
                "operationId": "getQuote",
                "summary": "Retrieves a Product Quote by ID",
                "description": "This operation retrieves a Product entity. Attribute selection is enabled for all first level attributes.",
                "tags": [
                    "Phase 2 Routes"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "description": "Identifier of the Product",
                        "required": true,
                        "type": "string",
                        "in": "path"
                    },
                    {
                        "$ref": "#/parameters/expandParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/productOrder"
                        },
                        "examples": {
                            "application/json": {
                                "id": "eed82d80-b9db-4768-9f81-e964e365dab1",
                                "effectiveQuoteCompletionDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                "expectedFulfillmentStartDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                "quoteDate": "Sep 26, 2017, 1:00:00 AM CEST",
                                "validFor": {
                                    "startDateTime": "Jan 1, 10000, 1:00:00 AM CET",
                                    "endDateTime": "Sep 26, 2017, 1:00:00 AM CEST"
                                },
                                "characteristics": [
                                    {
                                        "name": "sfdcQuoteNumber",
                                        "value": "00039656"
                                    },
                                    {
                                        "name": "cpqTrackingId",
                                        "value": "Up7MMRkhbNu_RCpPtLrAEQ"
                                    },
                                    {
                                        "name": "uniqueDealId",
                                        "value": "MANO-OFNZ-DLUW"
                                    }
                                ],
                                "quoteItems": [
                                    {
                                        "id": "c7c81b88-fe43-4cdb-a356-891d3d60f4d5",
                                        "quoteItemRelationship": "product",
                                        "action": "add",
                                        "quantity": 40,
                                        "quotePrice": {
                                            "priceType": "Recurring",
                                            "recurringChargePeriod": "Subscription_Term",
                                            "name": "MiVO400 Sub Elite User – A",
                                            "unitOfMeature": "Each",
                                            "price": {
                                                "dutyFreeAmount": {
                                                    "unit": "CAD",
                                                    "value": 0
                                                }
                                            },
                                            "priceAlterations": [
                                                {
                                                    "applicationDuration": "1",
                                                    "name": "SPA Discount",
                                                    "priceType": "Recurring",
                                                    "priority": "1",
                                                    "recurringChargePeriod": "Annual",
                                                    "unitOfMeasure": "each"
                                                },
                                                {
                                                    "applicationDuration": "1",
                                                    "name": "Standard Discount",
                                                    "priceType": "Recurring",
                                                    "priority": "2",
                                                    "recurringChargePeriod": "Annual",
                                                    "unitOfMeasure": "each"
                                                }
                                            ]
                                        }
                                    }
                                ],
                                "_links": {
                                    "self": "/2022-01-30/quotes/eed82d80-b9db-4768-9f81-e964e365dab1"
                                }
                            }
                        }
                    },
                    "400": {
                        "$ref": "#/responses/400"
                    },
                    "401": {
                        "$ref": "#/responses/401"
                    },
                    "403": {
                        "$ref": "#/responses/403"
                    },
                    "404": {
                        "$ref": "#/responses/404"
                    },
                    "405": {
                        "$ref": "#/responses/405"
                    },
                    "409": {
                        "$ref": "#/responses/409"
                    },
                    "429": {
                        "description": "Too Many Requests",
                        "headers": {
                            "Retry-After": {
                                "description": "The length of time in millisecond that a client should wait before re-attempting the request",
                                "type": "integer"
                            }
                        }
                    },
                    "500": {
                        "$ref": "#/responses/500"
                    }
                }
            }
        }
    },
    "definitions": {
        "account": {
            "type": "object",
            "description": "Generic Account structure used to define commonalities between sub concepts of PartyAccount and Financial Account. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/EngagedParty/Account.schema.json\">TMForum's account schema.</a>",
            "required": [
                "name"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_links": {
                    "type": "object"
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of the party account"
                },
                "lastModified": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of last modification of the account"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the account"
                },
                "state": {
                    "type": "string",
                    "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on."
                },
                "relatedParties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                }
            }
        },
        "appliedBillingTaxRate": {
            "type": "object",
            "description": "The applied billing tax rate represents the taxes applied to the bill, containing the amount and rates. It is calculated during the billing process. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/AppliedCustomerTaxRate.schema.json\">TMForum's Applied Customer Tax Rate schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "taxRate": {
                    "type": "number",
                    "format": "float",
                    "description": "Applied rate"
                },
                "taxAmount": {
                    "$ref": "#/definitions/money",
                    "description": "Tax amount expressed in the given currency"
                }
            }
        },
        "appliedCustomerBillingRate": {
            "type": "object",
            "description": "A customer bill displays applied billing rates created before or during the billing process. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/AppliedCustomerBillingRate.schema.json\">TMForum's Applied Customer Billing Rate schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Creation date of the applied billing rate"
                },
                "description": {
                    "type": "string",
                    "description": "Additional data to be displayed on the bill for this customer applied billing rate"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the customer applied billing rate"
                },
                "type": {
                    "type": "string",
                    "description": "Type of the applied billing rate : appliedBillingCharge (any kind of charge except taxation charges : recurringCharge, oneTimeCharge, usageCharge),  appliedBillingCredit (any kind of credit : rebate or productAlteration) or appliedPenaltyCharge (penalty charges such as late fees, payment rejection fees,...)"
                },
                "appliedTax": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/appliedBillingTaxRate"
                    }
                },
                "characteristics": {
                    "type": "array",
                    "description": "This sub-resource is used to hold custom fields unique to Mitel. The possible custom field for this  resource with allowed formats where applicable are: <table><tr><th>Name</th><th>Value</th><th>Allowed Format</th></tr><tr><td>cpqTrackingId</td><td>string</td><td></td></tr><tr><td>vendorPurchaseOrderNumber</td><td>string</td><td></td></tr><tr><td>resellerPartnerNumber</td><td>string</td><td></td></tr><tr><td>slsSerialNumber</td><td>string</td><td></td></tr></table>",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "periodCoverage": {
                    "$ref": "#/definitions/timePeriod",
                    "description": "periodCoverage for RecurringCharge (RC) indicating the RC coverage period dates for different purposes, such as RC proration, display on bill, GL reporting, etc. periodCoverage for OC start and end date will be the same"
                },
                "taxExcludedAmount": {
                    "$ref": "#/definitions/money"
                },
                "taxIncludedAmount": {
                    "$ref": "#/definitions/money"
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "bill": {
                            "type": "string"
                        },
                        "billingAccount": {
                            "type": "string"
                        },
                        "product": {
                            "type": "string"
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "properties": {
                        "bill": {
                            "$ref": "#/definitions/customerBill"
                        },
                        "billingAccount": {
                            "$ref": "#/definitions/billingAccount"
                        },
                        "product": {
                            "$ref": "#/definitions/product"
                        }
                    }
                }
            }
        },
        "appliedCustomerBillingRateTypes": {
            "type": "string",
            "description": "The various types of customer billing rates.",
            "enum": [
                "productUsage",
                "recurring",
                "oneTime",
                "alteration"
            ]
        },
        "appliedPayment": {
            "type": "object",
            "description": "The applied payment is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a bill. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/AppliedPayment.schema.json\">TMForum's Applied Payment schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "appliedAmount": {
                    "$ref": "#/definitions/money"
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "payment": {
                            "type": "string"
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "properties": {
                        "payment": {
                            "$ref": "#/definitions/payment"
                        }
                    }
                }
            }
        },
        "billCycle": {
            "type": "object",
            "description": "A detailed description of a billing cycle and the various sub steps of a billing cycle. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/BillCycle.schema.json\">TMForum's Bill Cycle schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "billingDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The billing/settlement date."
                },
                "billingPeriod": {
                    "type": "string",
                    "description": "A billing time period. It is e.g. the concrete expressed month. Example: 'March'."
                },
                "chargeDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date through when a payment method (e.g. credit card,...) will be activated."
                },
                "creditDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date through which credits previously received by the billing system are displayed on the bill."
                },
                "description": {
                    "type": "string",
                    "description": "An explanation regarding this billing cycle. If necessary."
                },
                "mailingDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Customer bill mailing date."
                },
                "name": {
                    "type": "string",
                    "description": "A short descriptive name of the actual billing cycle"
                },
                "paymentDueDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date, when the payment is due."
                },
                "validFor": {
                    "$ref": "#/definitions/timePeriod",
                    "description": "The period for which the billing cycle is valid (expressed in a formal formatted way)"
                }
            }
        },
        "billItem": {
            "type": "object",
            "description": "A part of the bill expressed in terms of a amount of a product purchased and the amount charged for this product (i.e., the appliedCustomerBillingRate).",
            "required": ["quantity", "_links"],
            "properties": {
                "quantity": {
                    "$ref": "#/definitions/quantity"
                },
                "description": {
                    "type": "string",
                    "description": "Text that explains this billing item."
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "item": {
                            "type": "string"
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "properties": {
                        "item": {
                            "$ref": "#/definitions/appliedCustomerBillingRate"
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "billingAccount": {
            "type": "object",
            "description": "A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/BillingAccount.schema.json\">TMForum's Billing Account schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of the party account"
                },
                "lastModified": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of last modification of the account"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the account"
                },
                "state": {
                    "type": "string",
                    "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on."
                },
                "relatedParties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                },
                "paymentStatus": {
                    "type": "string",
                    "description": "The condition of the account, such as due, paid, in arrears."
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "financialAccount": {
                            "type": "string"
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "characteristic": {
            "type": "object",
            "description": "Describes a given characteristic of an object or entity through a name/value pair. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Common/Characteristic.schema.json\">TMForum's characteristic schema.</a>",
            "required": [
                "name",
                "value"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the characteristic"
                },
                "valueType": {
                    "type": "string",
                    "description": "Data type of the value of the characteristic.\nAccepted primitive types are: integer, string, boolean, date, null, and undefined.\nAccepted object types are: Date."
                },
                "value": {
                    "type": "object",
                    "description": "Value component of the name/value pair. The data type and formatting of this value must correspond with the <code>valueType</code>, if provided."
                }
            },
            "additionalProperties": false
        },
        "customerBill": {
            "type": "object",
            "description": "The billing account receives all charges (recurring, one time and usage) of the offers and products assigned to it during order process. Periodically according to billing cycle specifications attached to the billing account or as a result of an event, a customer bill (aka invoice) is produced. This customer bill concerns different related parties which play a role: for example, a customer bill is produced by an operator, is sent to a bill receiver and has to be paid by a payer. A payment method could be assigned to the customer bill to build the call of payment. The lettering process allows for automatically or manually incoming amount from payments to customer bills (payment items). A tax item is created for each tax rate used in the customer bill. The financial account represents a financial entity which records all the customer’s accounting events; payment amounts are recorded as credit and invoice amounts are recorded as debit. It gives the customer an overall balance (account balance). The customer bill is linked to one or more documents that can be downloaded via a provided url. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/CustomerBill.schema.json\">TMForum's customer bill schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "billDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Bill date"
                },
                "billNo": {
                    "type": "string",
                    "description": "Bill reference known by the customer or the party and displayed on the bill. Could be different from the id"
                },
                "lastUpdate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of bill last update"
                },
                "nextBillDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Approximate date of the next bill production given for information (only used for onCycle bill)"
                },
                "paymentDueDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date at which the amount due should have been paid"
                },
                "runType": {
                    "type": "string",
                    "description": "onCycle (a bill can be created as a result of a cycle run) or offCycle (a bill can be created as a result of other events such as customer request or account close)"
                },
                "amountDue": {
                    "$ref": "#/definitions/money"
                },
                "appliedPayments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/appliedPayment"
                    }
                },
                "billingPeriod": {
                    "$ref": "#/definitions/timePeriod"
                },
                "relatedParties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                },
                "remainingAmount": {
                    "$ref": "#/definitions/money"
                },
                "state": {
                    "$ref": "#/definitions/stateValue"
                },
                "taxExcludedAmount": {
                    "$ref": "#/definitions/money"
                },
                "taxIncludedAmount": {
                    "$ref": "#/definitions/money"
                },
                "taxItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/taxItem"
                    }
                },
                "billItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/billItem"
                    }
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "billingAccount": {
                            "type": "string"
                        },
                        "financialAccount": {
                            "type": "string"
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "properties": {
                        "billingAccount": {
                            "$ref": "#/definitions/billingAccount"
                        },
                        "financialAccount": {
                            "$ref": "#/definitions/financialAccount"
                        },
                        "billCycle": {
                            "$ref": "#/definitions/billCycle"
                        }
                    }
                }
            }
        },
        "customerBillCollection": {
            "type": "object",
            "description": "A collection of customer bills",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "_links": {
                    "type": "object",
                    "required": ["self"],
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "A direct link to this resource url"
                        },
                        "next": {
                            "type": "string",
                            "description": "A link to additional paged resources if available."
                        },
                        "prev": {
                            "type": "string",
                            "description": "A link to previous paged resources if available."
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "required": ["items"],
                    "description": "A list of customer bills.",
                    "properties": {
                        "items": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/customerBill"
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "financialAccount": {
            "type": "object",
            "description": "An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. A financial (account receivable account/account payable) aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party. It is a specialization of entity Account. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/EngagedParty/FinancialAccount.schema.json\"> TMForum's Financial Account schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_links": {
                    "type": "object"
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of the party account"
                },
                "lastModified": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of last modification of the account"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the account"
                },
                "state": {
                    "type": "string",
                    "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on."
                },
                "relatedParties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                }
            },
            "additionalProperties": false
        },
        "money": {
            "type": "object",
            "description": "A base / value business entity used to represent money. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Common/Money.schema.json\"> TMForum's money schema.</a>",
            "properties": {
                "unit": {
                    "type": "string",
                    "description": "Currency (ISO4217 norm uses 3 letters to define the currency)"
                },
                "value": {
                    "type": "number",
                    "format": "float",
                    "description": "A positive floating point number"
                }
            },
            "additionalProperties": false
        },
        "orderItemActionType": {
            "description": "action to be performed on the product. Taken by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/OrderItemActionType.schema.json\">TMForum's orderItemActionType schema.</a>",
            "type": "string",
            "enum": [
                "add",
                "modify",
                "delete",
                "noChange",
                "renew"
            ]
        },
        "orderPrice": {
            "type": "object",
            "description": "An amount, usually of money, that represents the actual price paid by the Customer for this item or this order. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/OrderPrice.schema.json\">TMForum's orderPrice schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "description": {
                    "type": "string",
                    "description": "A narrative that explains in detail the semantics of this order item price."
                },
                "name": {
                    "type": "string",
                    "description": "A short descriptive name such as \"Subscription price\"."
                },
                "priceType": {
                    "type": "string",
                    "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth"
                },
                "recurringChargePeriod": {
                    "type": "string",
                    "description": "Could be month, week..."
                },
                "unitOfMeasure": {
                    "type": "string",
                    "description": "Could be minutes, GB..."
                },
                "price": {
                    "$ref": "#/definitions/price",
                    "description": "a structure used to define price amount"
                },
                "priceAlteration": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/priceAlteration"
                    },
                    "description": "a structure used to describe a price alteration"
                }
            }
        },
        "orderTerm": {
            "description": "Description of a product order term. This represent a commitment with a duration",
            "type": "object",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the resource's term"
                },
                "duration": {
                    "$ref": "#/definitions/quantity",
                    "description": "Duration of the resource's term"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the resource's term"
                }
            }
        },
        "organization": {
            "type": "object",
            "description": "Organization is a sub-type of the Party that represents a group of people identified by shared interests or purpose. Examples include business, department or enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data. Inspired by <a href=\"https://github.com/tmforum-rand/schemas/blob/candidates/EngagedParty/Organization.schema.json\">TMForum's organization schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_links": {
                    "type": "object"
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "organizationType": {
                    "type": "string",
                    "description": "Type of Organization (company, department,…)"
                },
                "tradingName": {
                    "type": "string",
                    "description": "Name that the organization (unit) trades under"
                },
                "name": {
                    "type": "string",
                    "description": "Organization name (department name for example)"
                },
                "nameType": {
                    "type": "string",
                    "description": "Type of the name: Co, Inc, Ltd,…."
                }
            }
        },
        "organizationCollection": {
            "type": "object",
            "description": "A collection of organizations",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "_links": {
                    "type": "object",
                    "required": ["self"],
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "A direct link to this resource url"
                        },
                        "next": {
                            "type": "string",
                            "description": "A link to additional paged resources if available."
                        },
                        "prev": {
                            "type": "string",
                            "description": "A link to previous paged resources if available."
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "required": ["items"],
                    "description": "A list of organizations",
                    "properties": {
                        "items": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/organization"
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "party": {
            "type": "object",
            "description": "Generic Party structure used to define commonalities between sub concepts of Individual and Organization.",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_links": {
                    "type": "object"
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                }
            },
            "additionalProperties": false
        },
        "partyAccount": {
            "type": "object",
            "description": "This is a type of account used for billing or for settlement purposes concerning a given party (an organization or an individual). Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/EngagedParty/PartyAccount.schema.json\"> TMForum's Party Account schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of the party account"
                },
                "lastModified": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of last modification of the account"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the account"
                },
                "state": {
                    "type": "string",
                    "description": "Contains the lifecycle state such as: Active, Closed, Suspended and so on."
                },
                "relatedParties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                },
                "paymentStatus": {
                    "type": "string",
                    "description": "The condition of the account, such as due, paid, in arrears."
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "financialAccount": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "partyRole": {
            "description": "The part played by a party in a given context.",
            "type": "object",
            "required": [
                "name",
                "_links"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "name": {
                    "type": "string",
                    "description": "A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles."
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "agreements": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "payment": {
            "type": "object",
            "description": "The Payment resource represents a performed payment. It contains both information about the payment and references to the associated party or financial account. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/Payment.schema.json\"> TMForum's Payment schema.</a>",
            "required": [
                "account",
                "paymentMethod"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "authorizationCode": {
                    "type": "string",
                    "description": "Authorization code retrieved from an external payment gateway that could be used for conciliation"
                },
                "correlatorId": {
                    "type": "string",
                    "description": "Unique identifier in the client for the payment in case it is needed to correlate"
                },
                "description": {
                    "type": "string",
                    "description": "Text describing the contents of the payment"
                },
                "name": {
                    "type": "string",
                    "description": "Screen name of the payment"
                },
                "paymentDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date when the payment was performed"
                },
                "status": {
                    "$ref": "#/definitions/paymentStatusType"
                },
                "statusDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date when the status was recorded"
                },
                "amount": {
                    "$ref": "#/definitions/money",
                    "description": "Amount to be paid (inclusive of taxes)"
                },
                "payer": {
                    "$ref": "#/definitions/relatedParty"
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "account": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "paymentStatusType": {
            "type": "string",
            "description": "Possible values for the status of a payment",
            "enum": [
                "cleared",
                "open",
                "processed"
            ]
        },
        "price": {
            "type": "object",
            "description": "Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/Price.schema.json\"> TMForum's price schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "percentage": {
                    "type": "number",
                    "format": "float",
                    "description": "A percentage of the discount in the Price Alteration item"
                },
                "taxRate": {
                    "type": "number",
                    "format": "float",
                    "description": "Tax rate"
                },
                "dutyFreeAmount": {
                    "$ref": "#/definitions/money",
                    "description": "All taxes excluded amount (expressed in the given currency)"
                },
                "taxIncludedAmount": {
                    "$ref": "#/definitions/money",
                    "description": "All taxes included amount (expressed in the given currency)"
                }
            },
            "additionalProperties": false
        },
        "priceAlteration": {
            "type": "object",
            "description": "Is an amount, usually of money, that modifies the price charged for an order item.",
            "required": [
                "price",
                "priceType",
                "productPriceId"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "applicationDuration": {
                    "type": "integer",
                    "description": "Duration during which the alteration applies on the order item price (for instance 2 months free of charge for the recurring charge). Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Product/PriceAlteration.schema.json\"> TMForum's priceAlteration schema.</a>"
                },
                "description": {
                    "type": "string",
                    "description": "A narrative that explains in detail the semantics of this order item price alteration"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the order item price alteration"
                },
                "price": {
                    "$ref": "#/definitions/price"
                },
                "priceType": {
                    "type": "string",
                    "description": "A category that describes the price such as recurring, one time and usage."
                },
                "priority": {
                    "type": "integer",
                    "description": "Priority level for applying this alteration among all the defined alterations on the order item price"
                },
                "recurringChargePeriod": {
                    "type": "string",
                    "description": "Could be month, week..."
                },
                "unitOfMeasure": {
                    "type": "string",
                    "description": "Could be minutes, GB..."
                }
            },
            "additionalProperties": false
        },
        "product": {
            "type": "object",
            "description": "A Product is the instantiation of a ProductOffering or ProductSpecification by a Party playing the part a PartyRole, such as a Customer. This resource can be either a physical resource e.g., an item sitting on a shelf in a warehouse, or a service e.g. a VoIP service. The ProductOffering represents the marketing aspect of the product i.e. how it is sold (price per unit, discounts) while the ProductSpecification represents the functional details of the product (device specs, usage specs, product updates). Inspired by <a href=\"https://github.com/tmforum-rand/schemas/blob/candidates/Product/Product.schema.json\">TMForum's product schema.</a>",
            "required": [
                "_links"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "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 offerings"
                },
                "orderDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Is the date when the product was ordered"
                },
                "productSerialNumber": {
                    "type": "string",
                    "description": "Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router."
                },
                "startDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Is the date from which the product starts"
                },
                "terminationDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Is the date when the product was terminated"
                },
                "status": {
                    "$ref": "#/definitions/productStatusType",
                    "description": "Is the lifecycle status of the product."
                },
                "productPrices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/productPrice"
                    }
                },
                "productTerms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/productTerm"
                    }
                },
                "characteristics": {
                    "type": "array",
                    "description": "This sub-resource is used to hold custom fields unique to Mitel. The possible custom field for this resource with allowed formats where applicable are: <table><tr><th>Name</th><th>Value</th><th>Allowed Format</th></tr><tr><td>termEndDate</td><td>date</td><td>YYYY-MM-DD</td></tr><tr><td>termStartDate</td><td>date</td><td>YYYY-MM-DD</td></tr></table>",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "_links": {
                    "type": "object",
                    "required": ["self"],
                    "description": "hypermedia links to the related resources and the resource itself",
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "A direct link to this resource url",
                            "minLength": 1
                        },
                        "agreement": {
                            "type": "string"
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "productCollection": {
            "type": "object",
            "description": "A collection of products",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "_links": {
                    "type": "object",
                    "required": ["self"],
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "A direct link to this resource url"
                        },
                        "next": {
                            "type": "string",
                            "description": "A link to additional paged resources if available."
                        },
                        "prev": {
                            "type": "string",
                            "description": "A link to previous paged resources if available."
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "required": ["items"],
                    "description": "A list of products.",
                    "properties": {
                        "items": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/product"
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "productOrder": {
            "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. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/ProductOrder.schema.json\">TMForum's productOrder schema.</a>",
            "required": [
                "productOrderItems",
                "_links"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "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. "
                },
                "completionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date when the order was completed"
                },
                "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": "string",
                    "description": "ID given by the consumer and only understandable by them (to facilitate their searches afterwards)"
                },
                "notificationContact": {
                    "type": "string",
                    "description": "Contact attached to the order to send back information regarding this order"
                },
                "orderDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date when the order was created"
                },
                "requestedCompletionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Requested delivery date from the requester perspective"
                },
                "requestedStartDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Order fulfillment start date wished by the requester. This is used when, for any reason, requester cannot allow seller to begin to operationally begin the fulfillment before a date. "
                },
                "productOrderItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/productOrderItem"
                    },
                    "minItems": 1
                },
                "relatedParties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                },
                "state": {
                    "$ref": "#/definitions/productOrderStateType",
                    "description": "Tracks the lifecycle status of the product order, such as Acknowledged, Rejected, InProgress, Pending and so on."
                },
                "characteristics": {
                    "type": "array",
                    "description": "This sub-resource is used to hold custom fields unique to Mitel. The possible custom field for this resource with allowed formats where applicable are: <table><tr><th>Name</th><th>ValueType</th><th>Allowed Format (Regex expression)</th></tr><tr><td>distributorReference</td><td>string</td><td></td></tr><tr><td>billingMethod</td><td>string</td><td></td></tr><tr><td>resellerPurchaseOrderNumber</td><td>string</td><td>/^[0-9]{6}$/g</td></tr><tr><td>orderNumber</td><td>string</td><td>/^[0-9]{10}$/g</td></tr><tr><td>cpqTrackingId</td><td>string</td><td>/^[0-9a-zA-Z]{11}_[0-9a-zA-Z]{10}$/g</td></tr></table>",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "_links": {
                    "type": "object",
                    "required": [
                        "self"
                    ],
                    "description": "hypermedia links to the related resources and the resource itself",
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "A direct link to this resource url",
                            "minLength": 1
                        },
                        "agreement": {
                            "type": "string"
                        },
                        "quotes": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "productOrderCollection": {
            "type": "object",
            "description": "A collection of product orders",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "_links": {
                    "type": "object",
                    "required": ["self"],
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "A direct link to this resource url"
                        },
                        "next": {
                            "type": "string",
                            "description": "A link to additional paged resources if available."
                        },
                        "prev": {
                            "type": "string",
                            "description": "A link to previous paged resources if available."
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "required": [
                        "items"
                    ],
                    "description": "A list of product orders.",
                    "properties": {
                        "items": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/productOrder"
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "productOrderItem": {
            "type": "object",
            "description": "An identified part of the order. For a product order that represents a bundle package use the nested <code>productOrderItem</code> to represent the individual orders that make up the bundle. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/ProductOrderItem.schema.json\">TMForum's productOrderItem schema.</a>",
            "required": [
                "id",
                "action"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "id": {
                    "type": "string",
                    "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, ...)"
                },
                "quantity": {
                    "type": "integer",
                    "description": "Quantity ordered"
                },
                "action": {
                    "$ref": "#/definitions/orderItemActionType",
                    "description": "The action to be carried out on the Product. Can be: add, modify, delete, noChange"
                },
                "itemPrices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/orderPrice"
                    }
                },
                "itemTerms": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/orderTerm"
                    }
                },
                "productOrderItem": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/productOrderItem"
                    }
                },
                "productOrderItemRelationship": {
                    "type": "string",
                    "description": "The relationship of this item relative to its children. Eg In a product order item representing a bundled order consisting of other products the productOrderItemRelationship would be 'bundle' and its nested children's productOrderItemRelationship would be 'product'"
                },
                "state": {
                    "$ref": "#/definitions/productOrderItemStateType",
                    "description": "State of the order item : described in the state machine diagram"
                },
                "characteristics": {
                    "type": "array",
                    "description": "This sub-resource is used to store custom fields unique to Mitel. The possible custom fields for this resource are: <table><tr><th>Name</th><th>ValueType</th></tr><tr><td>partNumber</td><td>string</td></tr></table>",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "_links": {
                    "type": "object",
                    "required": [
                        "self"
                    ],
                    "properties": {
                        "quoteItem": {
                            "type": "string"
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "productOrderPostRequest": {
            "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.",
            "required": [
                "productOrderItems"
            ],
            "properties": {
                "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."
                },
                "description": {
                    "type": "string",
                    "description": "Description of the product order"
                },
                "externalId": {
                    "type": "string",
                    "description": "ID given by the consumer and only understandable by them (to facilitate his searches afterwards)"
                },
                "notificationContact": {
                    "type": "string",
                    "description": "Contact attached to the order to send back information regarding this order"
                },
                "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)"
                },
                "requestedCompletionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Requested delivery date from the requester perspective"
                },
                "requestedStartDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Order fulfillment start date wished by the requester. This is used when, for any reason, requester cannot allow seller to begin to operationally begin the fulfillment before a date. "
                },
                "billingAccountId": {
                    "type": "string",
                    "description": "The billing account ID"
                },
                "productOrderItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/productOrderItem"
                    },
                    "minItems": 1
                },
                "characteristics": {
                    "type": "array",
                    "description": "This sub-resource is used to hold custom fields unique to Mitel. The possible custom fields for this resource with allowed formats where applicable are:\n\n| Name                          | ValueType   | Allowed Format (Regex expression)    |\n| ------------------------------| ------------| -------------------------------------|\n| distributorReference          | string      |                                      |\n| billingMethod                 | string      |                                      |\n| resellerPurchaseOrderNumber   | string      | /^[0-9]{6}$/g                        |\n| orderNumber                   | string      | /^[0-9]{10}$/g                       |\n| cpqTrackingId                 | string      | /^[0-9a-zA-Z]{11}_[0-9a-zA-Z]{10}$/g |\n| agreementName                 | string      | /^A-S[0-9]{8}$/g                     |\n| spaQuoteNumber                | string      | /^[0-9]{10}$/g                       |\n| swaQuoteNumber                | string      | /^[0-9]{10}$/g                       |\n| sfdcQuoteNumber               | string      | /^[0-9]{10}$/g                       |\n",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "relatedParties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                }
            },
            "example": {
                "description": "Description of the product order",
                "requestedStartDate": "2022-06-02T21:15:37.507Z",
                "externalId": "SamTestTrustUser5",
                "notificationContact": "trustuser@mitel-test.com",
                "orderDate": "2022-06-02T21:15:37.507Z",
                "requestedCompletionDate": "2022-06-02T21:15:37.507Z",
                "priority": 1,
                "@type": "ProductOrderPostRequest",
                "@schemaLocation": "/2022-01-30/_spec",
                "billingAccountId": "0000146034",
                "characteristics": [
                    {
                        "name": "distributorReference",
                        "valueType": "string",
                        "value": "purchase order"
                    },
                    {
                        "name": "billingMethod",
                        "valueType": "string",
                        "value": "purchase order"
                    },
                    {
                        "name": "resellerPurchaseOrderNumber",
                        "valueType": "string",
                        "value": "010203"
                    },
                    {
                        "name": "orderNumber",
                        "valueType": "string",
                        "value": "0003581618"
                    },
                    {
                        "name": "agreementName",
                        "valueType": "string",
                        "value": "A-S00025527"
                    },
                    {
                        "name": "spaQuoteNumber",
                        "valueType": "string",
                        "value": "0015181953"
                    },
                    {
                        "name": "swaQuoteNumber",
                        "valueType": "string",
                        "value": "0111101156"
                    },
                    {
                        "name": "sfdcQuoteNumber",
                        "valueType": "string",
                        "value": "00385478"
                    }
                ],
                "productOrderItems": [
                    {
                        "id": "001",
                        "productOrderItemRelationship": "product",
                        "action": "add",
                        "@type": "productOrderItem",
                        "@schemaLocation": "/2022-01-30/_spec",
                        "characteristics": [
                            {
                                "name": "partNumber",
                                "value": "54010538"
                            }
                        ]
                    }, {
                        "id": "002",
                        "quantity": 5,
                        "productOrderItemRelationship": "product",
                        "action": "modify",
                        "@type": "productOrderItem",
                        "@schemaLocation": "/2022-01-30/_spec",
                        "characteristics": [
                            {
                                "name": "partNumber",
                                "value": "54010537"
                            }
                        ]
                    }
                ]
            },
            "additionalProperties": false
        },
        "productPrice": {
            "type": "object",
            "description": "An amount, usually of money, that represents the actual price paid by a Customer for a purchase, a rent or a lease of a product. The price is valid for a defined period of time. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Product/ProductPrice.schema.json\">TMForum's productPrice schema.</a>",
            "required": [
                "priceType",
                "productId"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "description": {
                    "type": "string",
                    "description": "A narrative that explains in detail the semantics of this product price."
                },
                "productId": {
                    "type": "string"
                },
                "name": {
                    "type": "string",
                    "description": "A short descriptive name such as \"Subscription price\"."
                },
                "price": {
                    "$ref": "#/definitions/price"
                },
                "priceType": {
                    "type": "string",
                    "description": "A category that describes the price, such as recurring, discount, allowance, penalty, and so forth."
                },
                "priceAlterations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/priceAlteration"
                    }
                },
                "recurringChargePeriod": {
                    "type": "string",
                    "description": "Could be month, week..."
                },
                "unitOfMeasure": {
                    "type": "string",
                    "description": "Could be minutes, GB..."
                }
            },
            "additionalProperties": false
        },
        "productOrderItemStateType": {
            "type": "string",
            "description": "Possible values for the state of the product order item. Taken from <a href=\"https://github.com/tmforum-rand/schemas/blob/candidates/Customer/ProductOrderItemStateType.schema.json\">TMForum's productOrderItemStateType schema.</a>",
            "enum": [
                "acknowledged",
                "rejected",
                "pending",
                "held",
                "inProgress",
                "cancelled",
                "completed",
                "failed",
                "assessingCancellation",
                "pendingCancellation"
            ]
        },
        "productOrderStateType": {
            "type": "string",
            "description": "Possible values for the state of the order. Taken from <a href=\"https://github.com/tmforum-rand/schemas/blob/candidates/Customer/ProductOrderStateType.schema.json\">TMForum's productOrderStateType schema.</a>",
            "enum": [
                "acknowledged",
                "rejected",
                "pending",
                "held",
                "inProgress",
                "cancelled",
                "completed",
                "failed",
                "partial",
                "assessingCancellation",
                "pendingCancellation"
            ]
        },
        "productStatusType": {
            "type": "string",
            "description": "Possible values for the status of the product. Taken from <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Product/ProductStatusType.schema.json\">TMForum's productStatusType schema.</a>",
            "enum": [
                "created",
                "pendingActive",
                "cancelled",
                "active",
                "pendingTerminate",
                "terminated",
                "suspended",
                "aborted "
            ]
        },
        "productTerm": {
            "description": "A list of product terms. Description of a productTerm linked to this product. This represents a commitment with a duration.",
            "type": "object",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the resource's term"
                },
                "duration": {
                    "$ref": "#/definitions/quantity",
                    "description": "Duration of the resource's term"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the resource's term"
                },
                "validFor": {
                    "$ref": "#/definitions/timePeriod"
                }
            }
        },
        "quantity": {
            "type": "object",
            "description": "An amount in a given unit",
            "properties": {
                "amount": {
                    "default": 1,
                    "type": "number",
                    "format": "float",
                    "description": "Numeric value in a given unit"
                },
                "units": {
                    "type": "string",
                    "description": "Unit"
                }
            },
            "additionalProperties": false
        },
        "quote": {
            "type": "object",
            "required": [
                "quoteItems"
            ],
            "description": "Quote can be used to negotiate service and product acquisition or modification between a customer and a service provider. Quote contain list of quote items, a reference to customer (partyRole), a list of productOffering and attached prices and conditions. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/Quote.schema.json\">TMForum's quote schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier of a entity."
                },
                "_links": {
                    "type": "object"
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Description of the quote"
                },
                "effectiveQuoteCompletionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date when the quote has been completed"
                },
                "expectedFulfillmentStartDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "this is the date wished by the requester to have the requested quote item delivered"
                },
                "expectedQuoteCompletionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "This is expected date - from quote supplier - to be able to send back  a response for this quote"
                },
                "externalId": {
                    "type": "string",
                    "description": "ID given by the consumer and only understandable by them (to facilitate his searches afterwards)"
                },
                "quoteDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date and time when the quote was created"
                },
                "quoteItems": {
                    "type": "array",
                    "description": "An item of the quote - it is used to descirbe an operation on a product to be quoted",
                    "items": {
                        "$ref": "#/definitions/quoteItem"
                    },
                    "minItems": 1
                },
                "requestedQuoteCompletionDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "This is requested date - from quote requester - to get a complete response for this quote"
                },
                "validFor": {
                    "$ref": "#/definitions/timePeriod",
                    "description": "Quote validity period"
                }
            }
        },
        "quoteCollection": {
            "type": "object",
            "description": "A collection of product quotes",
            "properties": {
                "count": {
                    "type": "integer"
                },
                "_links": {
                    "type": "object",
                    "required": ["self"],
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "A direct link to this resource url"
                        },
                        "next": {
                            "type": "string",
                            "description": "A link to additional paged resources if available."
                        },
                        "prev": {
                            "type": "string",
                            "description": "A link to previous paged resources if available."
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "required": [
                        "items"
                    ],
                    "description": "A list of product quotes.",
                    "properties": {
                        "items": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/quote"
                            }
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "quoteItem": {
            "type": "object",
            "description": "A quote items describe an action to be performed on a productOffering or a product in order to get pricing elements and condition. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/QuoteItem.schema.json\">TMForum's quoteItem schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "_links": {
                    "type": "object"
                },
                "_embedded": {
                    "type": "object",
                    "description": "Used for embedded subscriptions (resources contained within the resource).",
                    "properties": {}
                },
                "characteristics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/characteristic"
                    }
                },
                "action": {
                    "type": "string",
                    "description": "Action to be performed on this quote item (add, modify, remove, etc.)"
                },
                "id": {
                    "type": "string",
                    "description": "Identifier of the quote item (generally it is a sequence number 01, 02, 03, ...)"
                },
                "quantity": {
                    "type": "integer",
                    "description": "Quantity asked for this quote item"
                },
                "quoteItems": {
                    "type": "array",
                    "description": "A structure to embedded quote item within quote item",
                    "items": {
                        "$ref": "#/definitions/quoteItem"
                    }
                },
                "quoteItemPrice": {
                    "type": "array",
                    "description": "Price for this quote item",
                    "items": {
                        "$ref": "#/definitions/quotePrice"
                    }
                },
                "quoteItemRelationship": {
                    "type": "string",
                    "description": "A relationship from item within a quote"
                },
                "relatedParty": {
                    "type": "array",
                    "description": "A reference to a party playing a role in this quote item",
                    "items": {
                        "$ref": "#/definitions/relatedParty"
                    }
                },
                "state": {
                    "type": "string",
                    "description": "State of the quote item : described in the state machine diagram"
                }
            },
            "additionalProperties": false
        },
        "quotePrice": {
            "description": "Description of price and discount awarded. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/QuotePrice.schema.json\">TMForum's quotePrice.</a>",
            "type": "object",
            "required": [
                "priceType"
            ],
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the quote/quote item price"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the quote item price"
                },
                "priceType": {
                    "type": "string",
                    "description": "indicate if the price is for recurrent or no-recurrent charge"
                },
                "recurringChargePeriod": {
                    "type": "string",
                    "description": "Used for recurring charge to indicate period (month, week, etc..)"
                },
                "unitOfMeasure": {
                    "type": "string",
                    "description": "Unit of Measure if price depending on it (Gb, SMS volume, etc..)"
                },
                "priceAlterations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/priceAlteration"
                    }
                },
                "price": {
                    "$ref": "#/definitions/price"
                }
            }
        },
        "relatedParty": {
            "description": "RelatedParty reference. A related party defines party or party role linked to a specific entity.",
            "type": "object",
            "required": ["role", "_links", "@referredType"],
            "properties": {
                "role": {
                    "type": "string",
                    "description": "Role of the related party."
                },
                "@referredType": {
                    "type": "string",
                    "description": "The actual type of the target instance when needed for disambiguation."
                },
                "_links": {
                    "type": "object",
                    "properties": {
                        "party": {
                            "type": "string"
                        },
                        "partyRole": {
                            "type": "string"
                        }
                    }
                },
                "_embedded": {
                    "type": "object",
                    "properties": {
                        "party": {
                            "$ref": "#/definitions/party"
                        },
                        "partyRole": {
                            "$ref": "#/definitions/partyRole"
                        }
                    }
                }
            }
        },
        "stateValue": {
            "type": "string",
            "description": "The states of the customer bill",
            "enum": [
                "new",
                "onHold",
                "validated",
                "sent",
                "partiallyPaid",
                "settled"
            ]
        },
        "taxItem": {
            "type": "object",
            "description": "A tax item is created for each tax rate and tax type used in the bill. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Customer/TaxItem.schema.json\"> TMForum's Tax Item schema.</a>",
            "properties": {
                "@type": {
                    "type": "string",
                    "description": "Defines the name of the extended class type"
                },
                "@baseType": {
                    "type": "string",
                    "description": "Defines the name of the super class type"
                },
                "@schemaLocation": {
                    "type": "string",
                    "format": "uri",
                    "description": "A URI to a JSON-Schema file that defines additional attributes and relationships"
                },
                "taxRate": {
                    "type": "number",
                    "format": "float",
                    "description": "Applied rate of the tax"
                },
                "taxAmount": {
                    "$ref": "#/definitions/money",
                    "description": "Amount of tax expressed in the given currency"
                }
            }
        },
        "timePeriod": {
            "type": "object",
            "description": "A period of time, either as a deadline (endDateTime only) a startDateTime only, or both. Inspired by <a href=\"https://github.com/tmforum-apis/Open_Api_And_Data_Model/blob/master/schemas/Common/TimePeriod.schema.json\"> TMForum's timePeriod schema.</a>",
            "properties": {
                "endDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "End of the time period, using ISO 8601 format"
                },
                "startDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Start of the time period, using ISO 8601 format. If you define a start, you must also define an end"
                }
            },
            "additionalProperties": false
        }
    }
}
