openapi: 3.0.1 info: title: Product Catalog Management agreement quote API description: "Product Catalog API is one of Catalog Management API Family. Product Catalog API goal is to provide a catalog of products. \n### Operations\nProduct Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events" version: 5.0.0 servers: - url: https://serverRoot/productCatalogManagement/v5/ tags: - name: quote paths: /quote: get: operationId: listQuote summary: List or find Quote objects description: This operation list or find Quote entities tags: - quote parameters: - name: fields description: Comma-separated properties to be provided in response required: false in: query type: string - name: offset description: Requested index for start of resources to be provided in response required: false in: query type: integer - name: limit description: Requested number of resources to be provided in response required: false in: query type: integer responses: '200': description: Success headers: X-Result-Count: description: Actual number of items returned in the response body type: integer X-Total-Count: description: Total number of items matching criteria type: integer schema: type: array items: $ref: '#/definitions/Quote' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' post: operationId: createQuote summary: Creates a Quote description: This operation creates a Quote entity. tags: - quote parameters: - name: quote description: The Quote to be created required: true schema: $ref: '#/definitions/Quote_Create' in: body responses: '200': description: Success schema: $ref: '#/definitions/Quote' '201': description: Created schema: $ref: '#/definitions/Quote' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' /quote/{id}: get: operationId: retrieveQuote summary: Retrieves a Quote by ID description: This operation retrieves a Quote entity. Attribute selection is enabled for all first level attributes. tags: - quote parameters: - name: id description: Identifier of the Quote required: true type: string in: path - name: fields description: Comma-separated properties to provide in response required: false type: string in: query responses: '200': description: Success schema: $ref: '#/definitions/Quote' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' patch: operationId: patchQuote summary: Updates partially a Quote description: This operation updates partially a Quote entity. tags: - quote parameters: - name: id description: Identifier of the Quote required: true type: string in: path - name: quote description: The Quote to be updated required: true schema: $ref: '#/definitions/Quote_Update' in: body responses: '200': description: Updated schema: $ref: '#/definitions/Quote' '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' delete: operationId: deleteQuote summary: Deletes a Quote description: This operation deletes a Quote entity. tags: - quote parameters: - name: id description: Identifier of the Quote required: true type: string in: path responses: '204': description: Deleted '400': description: Bad Request schema: $ref: '#/definitions/Error' '401': description: Unauthorized schema: $ref: '#/definitions/Error' '403': description: Forbidden schema: $ref: '#/definitions/Error' '404': description: Not Found schema: $ref: '#/definitions/Error' '405': description: Method Not allowed schema: $ref: '#/definitions/Error' '409': description: Conflict schema: $ref: '#/definitions/Error' '500': description: Internal Server Error schema: $ref: '#/definitions/Error' definitions: ResourceRef: type: object properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the resource value: type: string description: 'The resource value that can be used to identify a resource with a public key (e.g.: a tel nr, an msisdn)' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id Error: description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) type: object required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: Explanation of the reason for the error which can be shown to a client user. message: type: string description: More details and corrective actions related to the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string format: uri description: URI of documentation describing the error. '@baseType': type: string description: When sub-classing, this defines the super-class. '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name. Quote: type: object 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. required: - quoteItem properties: id: type: string description: Unique identifier - attributed by quoting system href: type: string description: Hyperlink to access the quote category: type: string description: Used to categorize the quote from a business perspective that can be useful for the CRM system (e.g. "enterprise", "residential", ...) 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 him (to facilitate his searches afterwards) instantSyncQuote: type: boolean description: 'An indicator which when the value is "true" means that requester expects to get quoting result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201. ' quoteDate: type: string format: date-time description: Date and time when the quote was created requestedQuoteCompletionDate: type: string format: date-time description: This is requested date - from quote requester - to get a complete response for this quote version: type: string description: Quote version - if the customer rejected the quote but negotiations still open a new version of the quote is managed agreement: type: array items: $ref: '#/definitions/AgreementRef' description: A reference to an agreement defining the context of the quote authorization: type: array items: $ref: '#/definitions/Authorization' description: An authorization provided for the quote billingAccount: type: array items: $ref: '#/definitions/BillingAccountRef' description: 'A reference to a billing account to provide quote context information ' contactMedium: type: array items: $ref: '#/definitions/ContactMedium' description: Information contact related to the quote requester note: type: array items: $ref: '#/definitions/Note' description: Free form text associated with the quote productOfferingQualification: type: array items: $ref: '#/definitions/ProductOfferingQualificationRef' description: A reference to a previously done product offering qualification quoteItem: type: array items: $ref: '#/definitions/QuoteItem' minItems: 1 description: An item of the quote - it is used to descirbe an operation on a product to be quoted quoteTotalPrice: type: array items: $ref: '#/definitions/QuotePrice' description: Quote total price relatedParty: type: array items: $ref: '#/definitions/RelatedParty' description: A reference to a party playing a role in this quote (customer, seller, requester, etc.) state: $ref: '#/definitions/QuoteStateType' description: 'State of the quote : described in the state-machine diagram' validFor: $ref: '#/definitions/TimePeriod' description: Quote validity period '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name PriceAlteration: type: object description: Is an amount, usually of money, that modifies the price charged for an order item. required: - price - priceType properties: 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) 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 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... price: $ref: '#/definitions/Price' productOfferingPrice: $ref: '#/definitions/ProductOfferingPriceRef' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name ContactMedium: type: object description: Indicates the contact medium that could be used to contact the party. properties: mediumType: type: string description: 'Type of the contact medium, such as: email address, telephone number, postal address' preferred: type: boolean description: If true, indicates that is the preferred contact medium characteristic: $ref: '#/definitions/MediumCharacteristic' description: Any additional characteristic(s) of this contact medium validFor: $ref: '#/definitions/TimePeriod' description: The time period that the contact medium is valid for '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Authorization: type: object description: If special discount or special product offering price or specific condition need an approval for ISP sale representative it is described here. properties: givenDate: type: string format: date-time description: Date when the authorization (approved or declined) was done name: type: string description: Name of the required authorization requestedDate: type: string format: date-time description: Date when the authorization is requested for signatureRepresentation: type: string description: To describe a digital or manual signature state: type: string description: 'State of the authorization, such as: approved or declined' approver: type: array items: $ref: '#/definitions/RelatedParty' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name ProductOfferingQualificationItemRef: type: object description: It's a productOfferingQualification item that has been executed previously. required: - id - productOfferingQualificationId properties: id: type: string description: Id of an item of a product offering qualification href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. productOfferingQualificationHref: type: string description: Reference of the related entity. productOfferingQualificationId: type: string description: Unique identifier of a related entity. productOfferingQualificationName: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. TargetProductSchema: type: object description: The reference object to the schema and type of target product which is described by product specification required: - '@schemaLocation' - '@type' properties: '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: This field provides a link to the schema describing the target product '@type': type: string description: Class type of the target product 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. required: - price - priceType properties: description: type: string description: A narrative that explains in detail the semantics of this product 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... billingAccount: $ref: '#/definitions/BillingAccountRef' price: $ref: '#/definitions/Price' productOfferingPrice: $ref: '#/definitions/ProductOfferingPriceRef' productPriceAlteration: type: array items: $ref: '#/definitions/PriceAlteration' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name QuoteStateType: type: string description: Possible values for the state of the quote enum: - rejected - pending - inProgress - cancelled - approved - accepted RelatedPlaceRefOrValue: type: object description: Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself required: - role properties: id: type: string description: Unique identifier of the place href: type: string description: Unique reference of the place name: type: string description: A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home] role: type: string '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. Quote_Create: type: object 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. Skipped properties: href,quoteDate,state,effectiveQuoteCompletionDate,quoteAuthorization,quoteTotalPrice,expectedQuoteCompletionDate,validFor' required: - quoteItem properties: id: type: string description: Unique identifier - attributed by quoting system category: type: string description: Used to categorize the quote from a business perspective that can be useful for the CRM system (e.g. "enterprise", "residential", ...) description: type: string description: Description of the quote expectedFulfillmentStartDate: type: string format: date-time description: this is the date wished by the requester to have the requested quote item delivered externalId: type: string description: ID given by the consumer and only understandable by him (to facilitate his searches afterwards) instantSyncQuote: type: boolean description: 'An indicator which when the value is "true" means that requester expects to get quoting result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201. ' requestedQuoteCompletionDate: type: string format: date-time description: This is requested date - from quote requester - to get a complete response for this quote version: type: string description: Quote version - if the customer rejected the quote but negotiations still open a new version of the quote is managed agreement: type: array items: $ref: '#/definitions/AgreementRef' description: A reference to an agreement defining the context of the quote authorization: type: array items: $ref: '#/definitions/Authorization' description: An authorization provided for the quote billingAccount: type: array items: $ref: '#/definitions/BillingAccountRef' description: 'A reference to a billing account to provide quote context information ' contactMedium: type: array items: $ref: '#/definitions/ContactMedium' description: Information contact related to the quote requester note: type: array items: $ref: '#/definitions/Note' description: Free form text associated with the quote productOfferingQualification: type: array items: $ref: '#/definitions/ProductOfferingQualificationRef' description: A reference to a previously done product offering qualification quoteItem: type: array items: $ref: '#/definitions/QuoteItem' minItems: 1 description: An item of the quote - it is used to descirbe an operation on a product to be quoted relatedParty: type: array items: $ref: '#/definitions/RelatedParty' description: A reference to a party playing a role in this quote (customer, seller, requester, etc.) '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name 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. properties: id: type: string description: Identifier of the quote item (generally it is a sequence number 01, 02, 03, ...) action: type: string description: Action to be performed on this quote item (add, modify, remove, etc.) quantity: type: integer description: Quantity asked for this quote item state: type: string description: 'State of the quote item : described in the state machine diagram' appointment: type: array items: $ref: '#/definitions/AppointmentRef' description: A reference to appointment(s) associated with this quote item attachment: type: array items: $ref: '#/definitions/AttachmentRefOrValue' description: A reference to attachment(s) associated with this quote item note: type: array items: $ref: '#/definitions/Note' description: Free form text associated with the quote item product: $ref: '#/definitions/ProductRefOrValue' productOffering: $ref: '#/definitions/ProductOfferingRef' productOfferingQualificationItem: $ref: '#/definitions/ProductOfferingQualificationItemRef' description: A reference to a previously done POQ with item specified quoteItem: type: array items: $ref: '#/definitions/QuoteItem' description: A structure to embedded quote item within quote item quoteItemAuthorization: type: array items: $ref: '#/definitions/Authorization' description: Authorization related to this quote item quoteItemPrice: type: array items: $ref: '#/definitions/QuotePrice' description: Price for this quote item quoteItemRelationship: type: array items: $ref: '#/definitions/QuoteItemRelationship' description: A relationship from item within a quote relatedParty: type: array items: $ref: '#/definitions/RelatedParty' description: A reference to a party playing a role in this quote item '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name 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 ProductRelationship: type: object description: Linked products to the one instantiate, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful required: - product - relationshipType properties: relationshipType: type: string description: Type of the product relationship, such as [bundled] if the product is a bundle and you want to describe the bundled products inside this bundle; [reliesOn] if the product needs another already owned product to rely on (e.g. an option on an already owned mobile access product) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful product: $ref: '#/definitions/ProductRefOrValue' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name TimePeriod: type: object description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: endDateTime: type: string format: date-time description: End of the time period, using IETC-RFC-3339 format startDateTime: type: string format: date-time description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end MediumCharacteristic: type: object description: Describes the contact medium characteristics that could be used to contact a party (an individual or an organization) properties: city: type: string description: The city contactType: type: string description: 'The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation…' country: type: string description: The country emailAddress: type: string description: Full email address in standard format faxNumber: type: string description: The fax number of the contact phoneNumber: type: string description: The primary phone number of the contact postCode: type: string description: Postcode socialNetworkId: type: string description: Identifier as a member of a social network stateOrProvince: type: string description: State or province street1: type: string description: Describes the street street2: type: string description: Complementary street description '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name AgreementRef: type: object description: Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications. required: - id properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the agreement '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. QuoteItemRelationship: type: object description: Used to describe relationship between quote item. These relationship could have an impact on pricing and conditions properties: id: type: string description: ID of the related order item (must be in the same quote) relationshipType: type: string description: Relationship type as relies on, bundles, etc... '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Price: type: object description: Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price Alteration. properties: percentage: type: number format: float description: Percentage to apply for ProdOfferPriceAlteration 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) '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Any: {} Note: type: object description: Extra information about a given entity required: - text - id properties: id: type: string description: Identifier of the note within its containing entity (may or may not be globally unique, depending on provider implementation) author: type: string description: Author of the note date: type: string format: date-time description: Date of the note text: type: string description: Text of the note '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name ProductRefOrValue: type: object description: A product to be created defined by value or existing defined by reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the product entity and not the RelatedProductRefOrValue class itself properties: id: type: string description: Unique identifier of the product href: type: string description: Reference of the product description: type: string description: Is the description of the product. It could be copied from the description of the Product Offering. isBundle: type: boolean description: If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering. isCustomerVisible: type: boolean description: If true, the product is visible by the customer. name: type: string description: Name of the product. It could be the same as the name of the product offering orderDate: type: string format: date-time description: Is the date when the product was ordered 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 agreement: type: array items: $ref: '#/definitions/AgreementItemRef' billingAccount: $ref: '#/definitions/BillingAccountRef' place: type: array items: $ref: '#/definitions/RelatedPlaceRefOrValue' product: type: array items: $ref: '#/definitions/ProductRefOrValue' productCharacteristic: type: array items: $ref: '#/definitions/Characteristic' productOffering: $ref: '#/definitions/ProductOfferingRef' productOrderItem: type: array items: $ref: '#/definitions/RelatedProductOrderItem' productPrice: type: array items: $ref: '#/definitions/ProductPrice' productRelationship: type: array items: $ref: '#/definitions/ProductRelationship' productSpecification: $ref: '#/definitions/ProductSpecificationRef' productTerm: type: array items: $ref: '#/definitions/ProductTerm' realizingResource: type: array items: $ref: '#/definitions/ResourceRef' realizingService: type: array items: $ref: '#/definitions/ServiceRef' relatedParty: type: array items: $ref: '#/definitions/RelatedParty' status: $ref: '#/definitions/ProductStatusType' description: Is the lifecycle status of the product. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. ProductTerm: type: object description: Description of a productTerm linked to this product. This represent a commitment with a duration properties: description: type: string description: Description of the productTerm name: type: string description: Name of the productTerm duration: $ref: '#/definitions/Quantity' description: Duration of the productTerm validFor: $ref: '#/definitions/TimePeriod' description: productTerm validity period '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name ProductOfferingPriceRef: type: object description: ProductPriceOffering reference. An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id AgreementItemRef: type: object description: Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. agreementItemId: type: string description: Identifier of the agreement name: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id Money: type: object description: A base / value business entity used to represent money 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 Quote_Update: type: object 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. Skipped properties: id,href,quoteDate' required: - quoteItem properties: category: type: string description: Used to categorize the quote from a business perspective that can be useful for the CRM system (e.g. "enterprise", "residential", ...) 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 him (to facilitate his searches afterwards) instantSyncQuote: type: boolean description: 'An indicator which when the value is "true" means that requester expects to get quoting result immediately in the response. If the indicator is true then the response code of 200 indicates the operation is successful otherwise a task is created with a response 201. ' requestedQuoteCompletionDate: type: string format: date-time description: This is requested date - from quote requester - to get a complete response for this quote version: type: string description: Quote version - if the customer rejected the quote but negotiations still open a new version of the quote is managed agreement: type: array items: $ref: '#/definitions/AgreementRef' description: A reference to an agreement defining the context of the quote authorization: type: array items: $ref: '#/definitions/Authorization' description: An authorization provided for the quote billingAccount: type: array items: $ref: '#/definitions/BillingAccountRef' description: 'A reference to a billing account to provide quote context information ' contactMedium: type: array items: $ref: '#/definitions/ContactMedium' description: Information contact related to the quote requester note: type: array items: $ref: '#/definitions/Note' description: Free form text associated with the quote productOfferingQualification: type: array items: $ref: '#/definitions/ProductOfferingQualificationRef' description: A reference to a previously done product offering qualification quoteItem: type: array items: $ref: '#/definitions/QuoteItem' minItems: 1 description: An item of the quote - it is used to descirbe an operation on a product to be quoted quoteTotalPrice: type: array items: $ref: '#/definitions/QuotePrice' description: Quote total price relatedParty: type: array items: $ref: '#/definitions/RelatedParty' description: A reference to a party playing a role in this quote (customer, seller, requester, etc.) state: $ref: '#/definitions/QuoteStateType' description: 'State of the quote : described in the state-machine diagram' validFor: $ref: '#/definitions/TimePeriod' description: Quote validity period '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name Characteristic: type: object description: Describes a given characteristic of an object or entity through a name/value pair. required: - name - value properties: name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic value: $ref: '#/definitions/Any' description: The value of the characteristic '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name BillingAccountRef: type: object description: BillingAccount reference. A BillingAccount is a detailed description of a bill structure. required: - id properties: id: type: string description: Unique identifier of the billing account href: type: string description: Reference of the billing account name: type: string description: Name of the billing account '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. ProductStatusType: type: string description: Possible values for the status of the product enum: - created - pendingActive - cancelled - active - pendingTerminate - terminated - suspended - 'aborted ' AttachmentRefOrValue: type: object description: An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself properties: id: type: string description: Unique identifier for this particular attachment href: type: string description: URI for this Attachment attachmentType: type: string description: Attachment type such as video, picture content: type: string description: The actual contents of the attachment object, if embedded, encoded as base64 description: type: string description: A narrative text describing the content of the attachment mimeType: type: string description: Attachment mime type such as extension file for video, picture and document name: type: string description: The name of the attachment url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) size: $ref: '#/definitions/Quantity' description: The size of the attachment. validFor: $ref: '#/definitions/TimePeriod' description: The period of time for which the attachment is valid '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. QuotePrice: type: object description: Description of price and discount awarded properties: description: type: string description: Description of the quote/quote item price name: type: string description: Name of the quote /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..) price: $ref: '#/definitions/Price' priceAlteration: type: array items: $ref: '#/definitions/PriceAlteration' productOfferingPrice: $ref: '#/definitions/ProductOfferingPriceRef' description: An amount, usually of money, that is asked for or allowed when a ProductOffering is bought, rented, or leased. The price is valid for a defined period of time. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name ProductSpecificationRef: type: object description: 'Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.' properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. version: type: string description: Version of the product specification targetProductSchema: $ref: '#/definitions/TargetProductSchema' description: A target product schema reference. The reference object to the schema and type of target product which is described by product specification. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id ProductOfferingQualificationRef: type: object description: It's a productOfferingQualification that has been executed previously required: - id properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. AppointmentRef: type: object description: Refers an appointment, such as a Customer presentation or internal meeting or site visit properties: id: type: string description: The identifier of the referred appointment href: type: string description: The reference of the appointment description: type: string description: An explanatory text regarding the appointment made with a party '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation required: - id ProductOfferingRef: type: object description: ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information. properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id RelatedProductOrderItem: type: object description: RelatedProductOrderItem (ProductOrder item) .The product order item which triggered product creation/change/termination. required: - orderItemId - productOrderId properties: orderItemAction: type: string description: Action of the order item for this product orderItemId: type: string description: Identifier of the order item where the product was managed productOrderHref: type: string description: Reference of the related entity. productOrderId: type: string description: Unique identifier of a related entity. role: type: string description: role of the product order item for this product '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. ServiceRef: type: object description: Service reference, for when Service is used by other entities properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id RelatedParty: type: object description: Related Entity reference. A related party defines party or party role linked to a specific entity. required: - '@referredType' - id properties: id: type: string description: Unique identifier of a related entity. href: type: string description: Reference of the related entity. name: type: string description: Name of the related entity. role: type: string description: Role played by the related party '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string format: uri description: A URI to a JSON-Schema file that defines additional attributes and relationships '@type': type: string description: When sub-classing, this defines the sub-class entity name '@referredType': type: string description: The actual type of the target instance when needed for disambiguation.