openapi: 3.0.1 info: title: Catalog Management agreement product 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: product description: Operations for Product Resource paths: /product: get: tags: - product summary: TM Forum List or Find Product Objects description: List or find Product objects operationId: listProduct parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: '200': $ref: '#/components/responses/200ProductArray' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' post: tags: - product summary: TM Forum Creates a Product description: This operation creates a Product entity. operationId: createProduct parameters: - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/Product_FVO' responses: '201': $ref: '#/components/responses/201Product' '202': description: Accepted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' /product/{id}: get: tags: - product summary: TM Forum Retrieves a Product by ID description: This operation retrieves a Product entity. Attribute selection enabled for all first level attributes. operationId: retrieveProduct parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' responses: '200': $ref: '#/components/responses/200Product_Get' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' delete: tags: - product summary: TM Forum Deletes a Product description: This operation deletes a Product entity. operationId: deleteProduct parameters: - $ref: '#/components/parameters/Id' responses: '202': $ref: '#/components/responses/202' '204': $ref: '#/components/responses/204' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' patch: tags: - product summary: TM Forum Updates Partially a Product description: This operation updates partially a Product entity. operationId: patchProduct parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/Product_MVO' responses: '200': $ref: '#/components/responses/200Product_Patch' '202': description: Accepted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' components: schemas: Expression_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Expression is the ontology-encoded form of the Intent properties: expressionLanguage: $ref: '#/components/schemas/ExpressionLanguageEnum' iri: type: string description: Internationalized Resource Identifier of the intent Expression expressionValue: type: string description: expression value is the ontology-encoded form of the Intent such as RDF-XML, Turtle, Json-LD,... discriminator: propertyName: '@type' mapping: Expression: '#/components/schemas/Expression_MVO' GeographicLocationRef_FVO: type: object allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: GeographicLocationRef: '#/components/schemas/GeographicLocationRef_FVO' BillingAccountRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: BillingAccount reference. A BillingAccount is a detailed description of a bill structure. properties: ratingType: type: string description: Indicates whether the account follows a specific payment option such as prepaid or postpaid discriminator: propertyName: '@type' mapping: BillingAccountRef: '#/components/schemas/BillingAccountRef_FVO' 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. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: AgreementRef: '#/components/schemas/AgreementRef' ContactMedium: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Indicates the contact medium that could be used to contact the party. properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualifiy it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium' ProductRef: type: object description: A Product reference allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: ProductRef: '#/components/schemas/ProductRef' EntityRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/Addressable_FVO' - type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: The identifier of the referred entity. href: type: string description: The URI of the referred entity. name: type: string description: Name of the referred entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id StandardIdentifier: allOf: - $ref: '#/components/schemas/Entity' - type: object description: The corresponding identification of the resource in different standard, regulatory definitions. The standard specification identifier (e.g., ISO 3166-1 Alpha-2) and the corresponding value (e.g., BE) relevant to a particular resource. It is anticipated that multiple standards can provide definitions for a single entity, e.g., a country identifier can be specified in various standards (e.g., "ISO 3166-1 Alpha 2", "ISO 3166-1 Alpha 3", "ISO 3166-1 Numeric") properties: format: type: string description: Standard/Regulatory definition identifier. e.g., ISO 3166-1 example: ISO 3166-1 value: type: string description: The value of the resource in the corresponding standard.e.g., a country code value example: GB discriminator: propertyName: '@type' mapping: StandardIdentifier: '#/components/schemas/StandardIdentifier' PlaceRef: type: object description: Place reference. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PlaceRef: '#/components/schemas/PlaceRef' Product_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s). properties: agreementItem: type: array items: $ref: '#/components/schemas/AgreementItemRef_FVO' billingAccount: $ref: '#/components/schemas/BillingAccountRef_FVO' description: type: string description: Is the description of the product. It could be copied from the description of the Product Offering. isBundle: type: boolean description: If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering. isCustomerVisible: type: boolean description: If true, the product is visible by the customer. name: type: string description: Name of the product. It could be the same as the name of the product offering orderDate: type: string format: date-time description: Is the date when the product was ordered productCharacteristic: type: array items: $ref: '#/components/schemas/Characteristic_FVO' productOffering: $ref: '#/components/schemas/ProductOfferingRef_FVO' productOrderItem: type: array items: $ref: '#/components/schemas/RelatedOrderItem_FVO' product: type: array items: $ref: '#/components/schemas/ProductRefOrValue_FVO' productPrice: type: array items: $ref: '#/components/schemas/ProductPrice_FVO' productRelationship: type: array items: $ref: '#/components/schemas/ProductRelationship_FVO' productSerialNumber: type: string description: Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router. productSpecification: $ref: '#/components/schemas/ProductSpecificationRef_FVO' productTerm: type: array items: $ref: '#/components/schemas/ProductTerm_FVO' realizingResource: type: array items: $ref: '#/components/schemas/ResourceRef_FVO' realizingService: type: array items: $ref: '#/components/schemas/ServiceRef_FVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_FVO' place: type: array items: $ref: '#/components/schemas/RelatedPlaceRefOrValue_FVO' startDate: type: string format: date-time description: Is the date from which the product starts status: $ref: '#/components/schemas/ProductStatusType' terminationDate: type: string format: date-time description: Is the date when the product was terminated intent: $ref: '#/components/schemas/IntentRefOrValue_FVO' discriminator: propertyName: '@type' mapping: Product: '#/components/schemas/Product_FVO' PartyOrPartyRole_FVO: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef_FVO' - $ref: '#/components/schemas/PartyRoleRef_FVO' - $ref: '#/components/schemas/Individual_FVO' - $ref: '#/components/schemas/Organization_FVO' - $ref: '#/components/schemas/PartyRole_FVO' - $ref: '#/components/schemas/Supplier_FVO' - $ref: '#/components/schemas/BusinessPartner_FVO' - $ref: '#/components/schemas/Consumer_FVO' - $ref: '#/components/schemas/Producer_FVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_FVO' PartyRoleRef: '#/components/schemas/PartyRoleRef_FVO' Individual: '#/components/schemas/Individual_FVO' Organization: '#/components/schemas/Organization_FVO' PartyRole: '#/components/schemas/PartyRole_FVO' Supplier: '#/components/schemas/Supplier_FVO' BusinessPartner: '#/components/schemas/BusinessPartner_FVO' Consumer: '#/components/schemas/Consumer_FVO' Producer: '#/components/schemas/Producer_FVO' GeographicLocationRef_MVO: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: GeographicLocationRef: '#/components/schemas/GeographicLocationRef_MVO' ProductOfferingRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - 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: version: type: string description: Version of the product offering discriminator: propertyName: '@type' mapping: ProductOfferingRef: '#/components/schemas/ProductOfferingRef_MVO' Intent_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: An Intent instance is the formal description of all expectations including requirements, goals, and constraints given to a technical system properties: description: type: string description: The description of the intent. validFor: $ref: '#/components/schemas/TimePeriod' isBundle: type: boolean description: isBundle determines whether an intent represents a single intent (false), or a bundle of intents(true). priority: type: string description: Can be used by intent owner to prioritize intents in an intent management system statusChangeDate: type: string format: date-time description: A date time( DateTime). The date that the entity status changed to the current one context: type: string description: A string used to give a context to the intent version: type: string description: A field that identifies the specific version of an instance of an intent. intentSpecification: $ref: '#/components/schemas/EntityRef' intentRelationship: type: array items: $ref: '#/components/schemas/EntityRelationship_MVO' description: A list of intents related to this intent characteristic: type: array items: $ref: '#/components/schemas/Characteristic_MVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_MVO' attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue_MVO' description: Attachments that may be of relevance to this intent, such as picture, document, media name: type: string description: The name of the intent. expression: $ref: '#/components/schemas/Expression_MVO' creationDate: type: string format: date-time description: Date and time of the creation of this REST resource lastUpdate: type: string format: date-time description: Date and time of the last update of this REST resource lifecycleStatus: type: string description: Used to indicate the current lifecycle status of this intent discriminator: propertyName: '@type' mapping: Intent: '#/components/schemas/Intent_MVO' Supplier_MVO: type: object description: 'When business partner is the Supplier ' allOf: - $ref: '#/components/schemas/PartyRole_MVO' ProductRefOrValue_MVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Product entity and not the ProductRefOrValue class itself oneOf: - $ref: '#/components/schemas/Product_MVO' - $ref: '#/components/schemas/ProductRef_MVO' discriminator: propertyName: '@type' mapping: Product: '#/components/schemas/Product_MVO' ProductRef: '#/components/schemas/ProductRef_MVO' OrganizationChildRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Child references of an organization in a structure of organizations. properties: relationshipType: type: string description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example. organization: $ref: '#/components/schemas/OrganizationRef_MVO' discriminator: propertyName: '@type' mapping: OrganizationChildRelationship: '#/components/schemas/OrganizationChildRelationship_MVO' PartyRoleRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Party role reference. A party role represents the part played by a party in a given context. properties: partyId: type: string description: The identifier of the engaged party that is linked to the PartyRole object. partyName: type: string description: The name of the engaged party that is linked to the PartyRole object. discriminator: propertyName: '@type' mapping: PartyRoleRef: '#/components/schemas/PartyRoleRef_MVO' PartyRefOrPartyRoleRef_MVO: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef_MVO' - $ref: '#/components/schemas/PartyRoleRef_MVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_MVO' PartyRoleRef: '#/components/schemas/PartyRoleRef_MVO' Producer: type: object allOf: - $ref: '#/components/schemas/PartyRole' ProductRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' - type: object description: Used to describe relationship between product. properties: id: type: string description: Id of the related product relationshipType: type: string description: Relationship type as relies on, bundles, etc... discriminator: propertyName: '@type' mapping: ProductRelationship: '#/components/schemas/ProductRelationship_MVO' ExpressionLanguageEnum: enum: - Turtle - JSON-LD - RDF-XML - Other type: string description: Possible values for the serialized Expression language of an intent or Intent report RelatedOrderItem_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: It's a Order item that has been executed previously. properties: orderItemAction: $ref: '#/components/schemas/ItemActionType' orderHref: type: string description: Reference of the related entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. role: type: string description: Role played by the Order orderId: type: string description: Unique identifier of a related Order. orderItemId: type: string description: Id of an item of a prduct order discriminator: propertyName: '@type' mapping: RelatedOrderItem: '#/components/schemas/RelatedOrderItem_MVO' Attachment: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Complements the description of an element (for instance a product) through video, pictures... properties: name: type: string description: The name of the attachment description: type: string description: A narrative text describing the content of the attachment example: Photograph of the Product url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 size: $ref: '#/components/schemas/Quantity' validFor: $ref: '#/components/schemas/TimePeriod' attachmentType: type: string description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy mimeType: type: string description: a technical characterization of the attachment content format using IETF Mime Types discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment' GeographicSite: allOf: - $ref: '#/components/schemas/Place' - type: object properties: code: type: string description: 'A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]' creationDate: type: string format: date-time description: Date and time when the GeographicSite was created description: type: string description: Text describing additional information regarding the site status: type: string description: The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole' externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier' calendar: type: array items: $ref: '#/components/schemas/CalendarPeriod' place: type: array items: $ref: '#/components/schemas/PlaceRefOrValue' siteRelationship: type: array items: $ref: '#/components/schemas/GeographicSiteRelationship' OtherNameOrganization_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Keeps track of other names, for example the old name of an organization. properties: tradingName: type: string description: The name that the organization trades under nameType: type: string description: Co. , Inc. , Ltd. , Pty Ltd. , Plc; , Gmbh name: type: string description: Organization name (department name for example) validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: OtherNameOrganization: '#/components/schemas/OtherNameOrganization_FVO' PlaceRefOrValue: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Place entity and not the PlaceRefOrValue class itself oneOf: - $ref: '#/components/schemas/GeographicLocation' - $ref: '#/components/schemas/GeographicSite' - $ref: '#/components/schemas/GeographicAddress' - $ref: '#/components/schemas/PlaceRef' discriminator: propertyName: '@type' mapping: GeographicLocation: '#/components/schemas/GeographicLocation' GeographicSite: '#/components/schemas/GeographicSite' GeographicAddress: '#/components/schemas/GeographicAddress' PlaceRef: '#/components/schemas/PlaceRef' PartyCreditProfile_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: An individual might be evaluated for its worthiness and this evaluation might be based on a credit rating given by a credit agency. properties: creditAgencyName: type: string description: Name of the credit agency giving the score creditAgencyType: type: string description: Type of the credit agency giving the score ratingReference: type: string description: Reference corresponding to the credit rating ratingScore: type: integer format: int32 description: A measure of a party's creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyCreditProfile: '#/components/schemas/PartyCreditProfile_FVO' CalendarPeriod_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: day: type: string description: 'Day where the calendar status applies (e.g.: monday, mon-to-fri, weekdays, weekend, all week, ...)' timeZone: type: string description: 'Indication of the timezone applicable to the calendar information (e.g.: Paris, GMT+1)' hourPeriod: type: array items: $ref: '#/components/schemas/HourPeriod_MVO' status: type: string description: 'Indication of the availability of the caledar period (e.g.: available, booked, etc.)' discriminator: propertyName: '@type' mapping: CalendarPeriod: '#/components/schemas/CalendarPeriod_MVO' PaymentMethodRef: type: object description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PaymentMethodRef: '#/components/schemas/PaymentMethodRef' AccountRef: type: object description: Account reference. A account may be a party account or a financial account. allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: AccountRef: '#/components/schemas/AccountRef' Place_MVO: type: object description: Place reference. allOf: - $ref: '#/components/schemas/Entity_MVO' discriminator: propertyName: '@type' mapping: Place: '#/components/schemas/Place_MVO' GeographicSite: '#/components/schemas/GeographicSite_MVO' GeographicLocation: '#/components/schemas/GeographicLocation_MVO' GeographicAddress: '#/components/schemas/GeographicAddress_MVO' RelatedOrderItem_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: It's a Order item that has been executed previously. properties: orderItemAction: $ref: '#/components/schemas/ItemActionType' orderHref: type: string description: Reference of the related entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. role: type: string description: Role played by the Order orderId: type: string description: Unique identifier of a related Order. orderItemId: type: string description: Id of an item of a prduct order required: - role - orderId - orderItemId discriminator: propertyName: '@type' mapping: RelatedOrderItem: '#/components/schemas/RelatedOrderItem_FVO' GeographicSiteRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object properties: href: type: string description: Reference of the related geographic site role: type: string description: Role of the related site in the relationship validFor: $ref: '#/components/schemas/TimePeriod' id: type: string description: Unique identifier of the related site entity within the server relationshipType: type: string description: Type of relationship required: - id - relationshipType discriminator: propertyName: '@type' mapping: GeographicSiteRelationship: '#/components/schemas/GeographicSiteRelationship_FVO' CreditProfile_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one. properties: creditProfileDate: type: string format: date-time description: The date the profile was established creditRiskRating: type: integer description: This is an integer whose value is used to rate the risk creditScore: type: integer description: A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: CreditProfile: '#/components/schemas/CreditProfile_MVO' ProductPrice: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Description of price and discount awarded properties: description: type: string description: Description of the Product price name: type: string description: Name of the Product price productOfferingPrice: $ref: '#/components/schemas/ProductOfferingPriceRef' 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: '#/components/schemas/Price' priceAlteration: type: array items: $ref: '#/components/schemas/PriceAlteration' priceType: type: string description: indicate if the price is for recurrent or no-recurrent charge discriminator: propertyName: '@type' mapping: ProductPrice: '#/components/schemas/ProductPrice' ProductPrice_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Description of price and discount awarded properties: description: type: string description: Description of the Product price name: type: string description: Name of the Product price productOfferingPrice: $ref: '#/components/schemas/ProductOfferingPriceRef_MVO' 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: '#/components/schemas/Price_MVO' priceAlteration: type: array items: $ref: '#/components/schemas/PriceAlteration_MVO' priceType: type: string description: indicate if the price is for recurrent or no-recurrent charge discriminator: propertyName: '@type' mapping: ProductPrice: '#/components/schemas/ProductPrice_MVO' Place: type: object description: Place reference. allOf: - $ref: '#/components/schemas/Entity' discriminator: propertyName: '@type' mapping: Place: '#/components/schemas/Place' GeographicSite: '#/components/schemas/GeographicSite' GeographicLocation: '#/components/schemas/GeographicLocation' GeographicAddress: '#/components/schemas/GeographicAddress' OrganizationParentRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Parent references of an organization in a structure of organizations. properties: relationshipType: type: string description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example. organization: $ref: '#/components/schemas/OrganizationRef_MVO' discriminator: propertyName: '@type' mapping: OrganizationParentRelationship: '#/components/schemas/OrganizationParentRelationship_MVO' PartyRoleRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: Party role reference. A party role represents the part played by a party in a given context. properties: partyId: type: string description: The identifier of the engaged party that is linked to the PartyRole object. partyName: type: string description: The name of the engaged party that is linked to the PartyRole object. discriminator: propertyName: '@type' mapping: PartyRoleRef: '#/components/schemas/PartyRoleRef_FVO' Party_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: Generic and Abstract Party structure used to define commonalities between sub concepts of Individual and Organization. properties: externalReference: type: array items: $ref: '#/components/schemas/ExternalIdentifier_FVO' description: List of identifiers of the Party in an external system, for example when party information is imported from a commerce system partyCharacteristic: type: array items: $ref: '#/components/schemas/Characteristic_FVO' description: List of additional characteristics that a Party can take on. taxExemptionCertificate: type: array items: $ref: '#/components/schemas/TaxExemptionCertificate_FVO' description: List of tax exemptions granted to the party. For example, a war veteran might have partial exemption from state tax and a full exemption from federal tax creditRating: type: array items: $ref: '#/components/schemas/PartyCreditProfile_FVO' description: List of credit profiles and scores for the party, typically received from an external credit broker relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_FVO' description: List of parties and/or party roles related to this party contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium_FVO' description: List of means for contacting the party, e.g. mobile phone, email address discriminator: propertyName: '@type' mapping: Party: '#/components/schemas/Party_FVO' Organization: '#/components/schemas/Organization_FVO' Individual: '#/components/schemas/Individual_FVO' Characteristic_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Describes a given characteristic of an object or entity through a name/value pair. properties: id: type: string description: Unique identifier of the characteristic name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic characteristicRelationship: type: array items: $ref: '#/components/schemas/CharacteristicRelationship_FVO' required: - name discriminator: propertyName: '@type' mapping: Characteristic: '#/components/schemas/Characteristic_FVO' StringCharacteristic: '#/components/schemas/StringCharacteristic_FVO' StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic_FVO' ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic_FVO' ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic_FVO' NumberCharacteristic: '#/components/schemas/NumberCharacteristic_FVO' NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic_FVO' IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic_FVO' IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic_FVO' BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic_FVO' BooleanArrayCharacteristic: '#/components/schemas/BooleanArrayCharacteristic_FVO' GeographicLocation_FVO: allOf: - $ref: '#/components/schemas/Place_FVO' - type: object description: A GeographicLocation is a pure-virtual super-class to the GeoJSON-aligned geometries of Point (addresses and locations), MultiPoint, LineString (streets, highways and boundaries), MultiLineString and Polygon (countries, provinces, tracts of land). Use the @type attribute to specify which of these is being specified by the geometry attribute. properties: id: type: string description: Unique identifier of the geographic location href: type: string description: An URI used to access to the geographic location resource '@type': type: string enum: - GeoJsonPoint - GeoJsonMultiPoint - GeoJsonLineString - GeoJsonMultiLineString - GeoJsonPolygon description: The name of the GeoJSON structure used in the geometry attribute bbox: type: array description: A bounding box array that contains the geometry. The axes order follows the axes order of the geometry items: type: number required: - '@type' IntentRef_FVO: type: object description: Intent reference, for when Intent is used by other entities allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: IntentRef: '#/components/schemas/IntentRef_FVO' ProductRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: Used to describe relationship between product. properties: id: type: string description: Id of the related product relationshipType: type: string description: Relationship type as relies on, bundles, etc... required: - id - relationshipType discriminator: propertyName: '@type' mapping: ProductRelationship: '#/components/schemas/ProductRelationship_FVO' Producer_FVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_FVO' IntentRefOrValue: type: object description: Intent Ref (if Intent already exists) or Value (if Intent be created or its details be presented) oneOf: - $ref: '#/components/schemas/IntentRef' - $ref: '#/components/schemas/Intent' discriminator: propertyName: '@type' mapping: IntentRef: '#/components/schemas/IntentRef' Intent: '#/components/schemas/Intent' CalendarPeriod: allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: day: type: string description: 'Day where the calendar status applies (e.g.: monday, mon-to-fri, weekdays, weekend, all week, ...)' timeZone: type: string description: 'Indication of the timezone applicable to the calendar information (e.g.: Paris, GMT+1)' hourPeriod: type: array items: $ref: '#/components/schemas/HourPeriod' status: type: string description: 'Indication of the availability of the caledar period (e.g.: available, booked, etc.)' discriminator: propertyName: '@type' mapping: CalendarPeriod: '#/components/schemas/CalendarPeriod' OrganizationRef_FVO: type: object allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: OrganizationRef: '#/components/schemas/OrganizationRef_FVO' Supplier_FVO: type: object description: 'When business partner is the Supplier ' allOf: - $ref: '#/components/schemas/PartyRole_FVO' ProductSpecificationRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog. properties: version: type: string description: Version of the product specification targetProductSchema: $ref: '#/components/schemas/TargetProductSchema_FVO' discriminator: propertyName: '@type' mapping: ProductSpecificationRef: '#/components/schemas/ProductSpecificationRef_FVO' GeographicSite_FVO: allOf: - $ref: '#/components/schemas/Place_FVO' - type: object properties: code: type: string description: 'A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]' creationDate: type: string format: date-time description: Date and time when the GeographicSite was created description: type: string description: Text describing additional information regarding the site status: type: string description: The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_FVO' externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier_FVO' calendar: type: array items: $ref: '#/components/schemas/CalendarPeriod_FVO' place: type: array items: $ref: '#/components/schemas/PlaceRefOrValue_FVO' siteRelationship: type: array items: $ref: '#/components/schemas/GeographicSiteRelationship_FVO' ProductRefOrValue: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Product entity and not the ProductRefOrValue class itself oneOf: - $ref: '#/components/schemas/Product' - $ref: '#/components/schemas/ProductRef' discriminator: propertyName: '@type' mapping: Product: '#/components/schemas/Product' ProductRef: '#/components/schemas/ProductRef' Product_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s). properties: agreementItem: type: array items: $ref: '#/components/schemas/AgreementItemRef_MVO' billingAccount: $ref: '#/components/schemas/BillingAccountRef_MVO' description: type: string description: Is the description of the product. It could be copied from the description of the Product Offering. isBundle: type: boolean description: If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering. isCustomerVisible: type: boolean description: If true, the product is visible by the customer. name: type: string description: Name of the product. It could be the same as the name of the product offering orderDate: type: string format: date-time description: Is the date when the product was ordered productCharacteristic: type: array items: $ref: '#/components/schemas/Characteristic_MVO' productOffering: $ref: '#/components/schemas/ProductOfferingRef_MVO' productOrderItem: type: array items: $ref: '#/components/schemas/RelatedOrderItem_MVO' product: type: array items: $ref: '#/components/schemas/ProductRefOrValue_MVO' productPrice: type: array items: $ref: '#/components/schemas/ProductPrice_MVO' productRelationship: type: array items: $ref: '#/components/schemas/ProductRelationship_MVO' productSerialNumber: type: string description: Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router. productSpecification: $ref: '#/components/schemas/ProductSpecificationRef_MVO' productTerm: type: array items: $ref: '#/components/schemas/ProductTerm_MVO' realizingResource: type: array items: $ref: '#/components/schemas/ResourceRef_MVO' realizingService: type: array items: $ref: '#/components/schemas/ServiceRef_MVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_MVO' place: type: array items: $ref: '#/components/schemas/RelatedPlaceRefOrValue_MVO' startDate: type: string format: date-time description: Is the date from which the product starts status: $ref: '#/components/schemas/ProductStatusType' terminationDate: type: string format: date-time description: Is the date when the product was terminated intent: $ref: '#/components/schemas/IntentRefOrValue_MVO' discriminator: propertyName: '@type' mapping: Product: '#/components/schemas/Product_MVO' Organization: allOf: - $ref: '#/components/schemas/Party' - type: object description: Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data. properties: isLegalEntity: type: boolean description: If value is true, the organization is a legal entity known by a national referential. isHeadOffice: type: boolean description: If value is true, the organization is the head office organizationType: type: string description: Type of Organization (company, department...) existsDuring: $ref: '#/components/schemas/TimePeriod' name: type: string description: Organization name (department name for example) nameType: type: string description: 'Type of the name : Co, Inc, Ltd, etc.' status: $ref: '#/components/schemas/OrganizationStateType' otherName: type: array items: $ref: '#/components/schemas/OtherNameOrganization' description: List of additional names by which the organization is known organizationIdentification: type: array items: $ref: '#/components/schemas/OrganizationIdentification' description: List of official identifiers given to the organization, for example company number in the registry of companies organizationChildRelationship: type: array items: $ref: '#/components/schemas/OrganizationChildRelationship' description: List of organizations that are contained within this organization. For example if this organization is the Legal Department, the child organizations might include Claims, Courts, Contracts organizationParentRelationship: $ref: '#/components/schemas/OrganizationParentRelationship' tradingName: type: string description: Name that the organization (unit) trades under OtherNameOrganization: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Keeps track of other names, for example the old name of an organization. properties: tradingName: type: string description: The name that the organization trades under nameType: type: string description: Co. , Inc. , Ltd. , Pty Ltd. , Plc; , Gmbh name: type: string description: Organization name (department name for example) validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: OtherNameOrganization: '#/components/schemas/OtherNameOrganization' OrganizationRef: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: OrganizationRef: '#/components/schemas/OrganizationRef' Extensible_FVO: type: object description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type properties: '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships required: - '@type' AgreementRef_MVO: 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. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: AgreementRef: '#/components/schemas/AgreementRef_MVO' BusinessPartner_FVO: type: object description: 'When business partner is the BusinessPartner ' allOf: - $ref: '#/components/schemas/PartyRole_FVO' GeographicSubAddress_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: "Representation of a GeographicSubAddress \nIt is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building." properties: buildingName: type: string description: allows for buildings that have well-known names href: type: string description: Link to the subAddress id: type: string description: Unique Identifier of the subAddress levelNumber: type: string description: used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2 levelType: type: string description: describes level types within a building name: type: string description: Name of the subAddress to identify it with a meaningful identification privateStreetName: type: string description: private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office. privateStreetNumber: type: string description: private streets numbers internal to a private street subUnit: type: array description: Representation of a SubUnit. It is used for describing subunit within a subAddress e.g. BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF. items: $ref: '#/components/schemas/GeographicSubAddressUnit_MVO' subAddressType: type: string description: 'Type of subAddress : it can be a subunit or a private street' discriminator: propertyName: '@type' mapping: GeographicSubAddress: '#/components/schemas/GeographicSubAddress_MVO' AgreementItemRef_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: It's a Agreement item that has been executed previously. properties: agreementName: type: string description: Name of the related entity. agreementHref: type: string description: Reference of the related entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. agreementId: type: string description: Unique identifier of a related entity. agreementItemId: type: string description: Id of an item of a Agreement discriminator: propertyName: '@type' mapping: AgreementItemRef: '#/components/schemas/AgreementItemRef_MVO' Consumer_FVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_FVO' GeographicLocationRefOrValue: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the GeographicLocation entity and not the GeographicLocationRefOrValue class itself oneOf: - $ref: '#/components/schemas/GeographicLocation' - $ref: '#/components/schemas/GeographicLocationRef' discriminator: propertyName: '@type' mapping: GeographicLocation: '#/components/schemas/GeographicLocation' GeographicLocationRef: '#/components/schemas/GeographicLocationRef' PartyCreditProfile: allOf: - $ref: '#/components/schemas/Entity' - type: object description: An individual might be evaluated for its worthiness and this evaluation might be based on a credit rating given by a credit agency. properties: creditAgencyName: type: string description: Name of the credit agency giving the score creditAgencyType: type: string description: Type of the credit agency giving the score ratingReference: type: string description: Reference corresponding to the credit rating ratingScore: type: integer format: int32 description: A measure of a party's creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyCreditProfile: '#/components/schemas/PartyCreditProfile' TaxExemptionCertificate: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: A tax exemption certificate represents a tax exemption granted to a party (individual or organization) by a tax jurisdiction which may be a city, state, country,... An exemption has a certificate identifier (received from the jurisdiction that levied the tax) and a validity period. An exemption is per tax types and determines for each type of tax what portion of the tax is exempted (partial by percentage or complete) via the tax definition. properties: id: type: string description: Identifier of the tax exemption within list of the exemptions taxDefinition: type: array items: $ref: '#/components/schemas/TaxDefinition' description: A list of taxes that are covered by the exemption, e.g. City Tax, State Tax. The definition would include the exemption (e.g. for a rate exemption 0% would be a full exemption, 5% could be a partial exemption if the actual rate was 10%). validFor: $ref: '#/components/schemas/TimePeriod' certificateNumber: type: string description: Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction issuingJurisdiction: type: string description: Name of the jurisdiction that issued the exemption example: USA reason: type: string description: Reason for the tax exemption attachment: $ref: '#/components/schemas/AttachmentRefOrValue' discriminator: propertyName: '@type' mapping: TaxExemptionCertificate: '#/components/schemas/TaxExemptionCertificate' JsonPatchOperations: description: JSONPatch Operations document as defined by RFC 6902 type: array items: $ref: '#/components/schemas/JsonPatch' OrganizationParentRelationship: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Parent references of an organization in a structure of organizations. properties: relationshipType: type: string description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example. organization: $ref: '#/components/schemas/OrganizationRef' discriminator: propertyName: '@type' mapping: OrganizationParentRelationship: '#/components/schemas/OrganizationParentRelationship' IndividualStateType: enum: - initialized - validated - deceased type: string description: Valid values for the lifecycle state of the individual ContactMedium_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Indicates the contact medium that could be used to contact the party. properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualifiy it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium_MVO' Quantity: type: object description: An amount in a given unit properties: amount: type: number format: float default: 1 description: Numeric value in a given unit units: type: string description: Unit HourPeriod_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: endHour: type: string description: The time when the status ends applying startHour: type: string description: The time when the status starts applying discriminator: propertyName: '@type' mapping: HourPeriod: '#/components/schemas/HourPeriod_MVO' Price_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price and Price Alteration. properties: dutyFreeAmount: $ref: '#/components/schemas/Money' percentage: type: number format: float description: Percentage to apply for ProdOfferPriceAlteration taxIncludedAmount: $ref: '#/components/schemas/Money' taxRate: type: number format: float description: Tax rate discriminator: propertyName: '@type' mapping: Price: '#/components/schemas/Price_MVO' PriceAlteration_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Is an amount, usually of money, that modifies the price charged for an order item. 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 productOfferingPrice: $ref: '#/components/schemas/ProductOfferingPriceRef_FVO' 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: '#/components/schemas/Price_FVO' required: - priceType - price discriminator: propertyName: '@type' mapping: PriceAlteration: '#/components/schemas/PriceAlteration_FVO' Organization_FVO: allOf: - $ref: '#/components/schemas/Party_FVO' - type: object description: Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data. properties: isLegalEntity: type: boolean description: If value is true, the organization is a legal entity known by a national referential. isHeadOffice: type: boolean description: If value is true, the organization is the head office organizationType: type: string description: Type of Organization (company, department...) existsDuring: $ref: '#/components/schemas/TimePeriod' name: type: string description: Organization name (department name for example) nameType: type: string description: 'Type of the name : Co, Inc, Ltd, etc.' status: $ref: '#/components/schemas/OrganizationStateType' otherName: type: array items: $ref: '#/components/schemas/OtherNameOrganization_FVO' description: List of additional names by which the organization is known organizationIdentification: type: array items: $ref: '#/components/schemas/OrganizationIdentification_FVO' description: List of official identifiers given to the organization, for example company number in the registry of companies organizationChildRelationship: type: array items: $ref: '#/components/schemas/OrganizationChildRelationship_FVO' description: List of organizations that are contained within this organization. For example if this organization is the Legal Department, the child organizations might include Claims, Courts, Contracts organizationParentRelationship: $ref: '#/components/schemas/OrganizationParentRelationship_FVO' tradingName: type: string description: Name that the organization (unit) trades under PriceAlteration_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Is an amount, usually of money, that modifies the price charged for an order item. 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 productOfferingPrice: $ref: '#/components/schemas/ProductOfferingPriceRef_MVO' 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: '#/components/schemas/Price_MVO' discriminator: propertyName: '@type' mapping: PriceAlteration: '#/components/schemas/PriceAlteration_MVO' Duration: type: object description: A time interval in a given unit of time properties: amount: type: integer description: Time interval (number of seconds, minutes, hours, etc.) units: type: string description: Unit of time (seconds, minutes, hours, etc.) CharacteristicRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Another Characteristic that is related to the current Characteristic; properties: id: type: string description: Unique identifier of the characteristic relationshipType: type: string description: The type of relationship discriminator: propertyName: '@type' mapping: CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship_MVO' PartyRoleRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Party role reference. A party role represents the part played by a party in a given context. properties: partyId: type: string description: The identifier of the engaged party that is linked to the PartyRole object. partyName: type: string description: The name of the engaged party that is linked to the PartyRole object. discriminator: propertyName: '@type' mapping: PartyRoleRef: '#/components/schemas/PartyRoleRef' Individual_FVO: allOf: - $ref: '#/components/schemas/Party_FVO' - type: object description: Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about. properties: gender: type: string description: Gender placeOfBirth: type: string description: Reference to the place where the individual was born countryOfBirth: type: string description: Country where the individual was born nationality: type: string description: Nationality maritalStatus: type: string description: Marital status (married, divorced, widow ...) birthDate: type: string format: date-time description: Birth date deathDate: type: string format: date-time description: Date of death title: type: string description: Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ... aristocraticTitle: type: string description: e.g. Baron, Graf, Earl generation: type: string description: e.g.. Sr, Jr, III (the third) preferredGivenName: type: string description: 'Contains the chosen name by which the individual prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname' familyNamePrefix: type: string description: Family name prefix legalName: type: string description: Legal name or birth name (name one has for official purposes) middleName: type: string description: Middles name or initial name: type: string description: Full name flatten (first, middle, and last names) - this is the name that is expected to be presented in reference data types such as PartyRef, RelatedParty, etc. that refer to Individual formattedName: type: string description: A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean) location: type: string description: Temporary current location of the individual (may be used if the individual has approved its sharing) status: $ref: '#/components/schemas/IndividualStateType' otherName: type: array items: $ref: '#/components/schemas/OtherNameIndividual' description: List of other names by which this individual is known individualIdentification: type: array items: $ref: '#/components/schemas/IndividualIdentification_FVO' description: List of official identifications issued to the individual, such as passport, driving licence, social security number disability: type: array items: $ref: '#/components/schemas/Disability' description: List of disabilities suffered by the individual languageAbility: type: array items: $ref: '#/components/schemas/LanguageAbility' description: List of national languages known by the individual skill: type: array items: $ref: '#/components/schemas/Skill' description: List of skills exhibited by the individual familyName: type: string description: Contains the non-chosen or inherited name. Also known as last name in the Western context givenName: type: string description: First name of the individual Price: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price and Price Alteration. properties: dutyFreeAmount: $ref: '#/components/schemas/Money' percentage: type: number format: float description: Percentage to apply for ProdOfferPriceAlteration taxIncludedAmount: $ref: '#/components/schemas/Money' taxRate: type: number format: float description: Tax rate discriminator: propertyName: '@type' mapping: Price: '#/components/schemas/Price' ProductSpecificationRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog. properties: version: type: string description: Version of the product specification targetProductSchema: $ref: '#/components/schemas/TargetProductSchema' discriminator: propertyName: '@type' mapping: ProductSpecificationRef: '#/components/schemas/ProductSpecificationRef' TargetProductSchema: type: object description: The reference object to the schema and type of target product which is described by product specification properties: '@type': type: string description: Class type of the target product '@schemaLocation': type: string format: uri description: This field provides a link to the schema describing the target product ProductSpecificationRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: ProductSpecification reference. A product Specification represents entities that are orderable from the provider of the catalog. properties: version: type: string description: Version of the product specification targetProductSchema: $ref: '#/components/schemas/TargetProductSchema_MVO' discriminator: propertyName: '@type' mapping: ProductSpecificationRef: '#/components/schemas/ProductSpecificationRef_MVO' Attachment_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: Complements the description of an element (for instance a product) through video, pictures... properties: name: type: string description: The name of the attachment description: type: string description: A narrative text describing the content of the attachment example: Photograph of the Product url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 size: $ref: '#/components/schemas/Quantity' validFor: $ref: '#/components/schemas/TimePeriod' attachmentType: type: string description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy mimeType: type: string description: a technical characterization of the attachment content format using IETF Mime Types required: - attachmentType - mimeType discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_FVO' OrganizationParentRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Parent references of an organization in a structure of organizations. properties: relationshipType: type: string description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example. organization: $ref: '#/components/schemas/OrganizationRef_FVO' discriminator: propertyName: '@type' mapping: OrganizationParentRelationship: '#/components/schemas/OrganizationParentRelationship_FVO' EntityRelationship_FVO: type: object description: A uni-directionmal relationship from this entity to a target entity instance properties: href: type: string name: type: string role: type: string description: The association role for this entity validFor: $ref: '#/components/schemas/TimePeriod' associationSpec: $ref: '#/components/schemas/EntityRef_FVO' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships relationshipType: type: string description: Type of relationship such as migration, substitution, dependency, exclusivity id: type: string '@referredType': type: string '@type': type: string required: - relationshipType - id - '@referredType' - '@type' CreditProfile: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one. properties: creditProfileDate: type: string format: date-time description: The date the profile was established creditRiskRating: type: integer description: This is an integer whose value is used to rate the risk creditScore: type: integer description: A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: CreditProfile: '#/components/schemas/CreditProfile' OtherNameIndividual: type: object description: Keeps track of other names, for example the old name of a woman before marriage or an artist name. properties: title: type: string description: 'Use for titles (aristrocatic, social, ...): Pr, Dr, Sir,....' aristocraticTitle: type: string description: e.g. Baron, Graf, Earl, etc. generation: type: string description: e.g. Sr, Jr, etc. givenName: type: string description: First name preferredGivenName: type: string description: 'Contains the chosen name by which the person prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname' familyNamePrefix: type: string description: Family name prefix familyName: type: string description: Contains the non-chosen or inherited name. Also known as last name in the Western context legalName: type: string description: Legal name or birth name (name one has for official purposes) middleName: type: string description: Middle name or initial fullName: type: string description: Full name flatten (first, middle, and last names) formattedName: type: string description: . A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean, etc.) validFor: $ref: '#/components/schemas/TimePeriod' Entity_FVO: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/Addressable_FVO' PartyRole_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: The part played by a party in a given context. properties: name: type: string description: A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles. It's the name of the PartyRole unique entity. description: type: string description: A description of the PartyRole. role: type: string description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification. engagedParty: $ref: '#/components/schemas/PartyRef_FVO' partyRoleSpecification: $ref: '#/components/schemas/PartyRoleSpecificationRef_FVO' characteristic: type: array items: $ref: '#/components/schemas/Characteristic_FVO' description: Describes the characteristic of a party role. account: type: array items: $ref: '#/components/schemas/AccountRef_FVO' agreement: type: array items: $ref: '#/components/schemas/AgreementRef_FVO' contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium_FVO' paymentMethod: type: array items: $ref: '#/components/schemas/PaymentMethodRef_FVO' creditProfile: type: array items: $ref: '#/components/schemas/CreditProfile_FVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_FVO' status: type: string description: Used to track the lifecycle status of the party role. statusReason: type: string description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection. validFor: $ref: '#/components/schemas/TimePeriod' required: - name - engagedParty discriminator: propertyName: '@type' mapping: PartyRole: '#/components/schemas/PartyRole_FVO' Supplier: '#/components/schemas/Supplier_FVO' Producer: '#/components/schemas/Producer_FVO' Consumer: '#/components/schemas/Consumer_FVO' BusinessPartner: '#/components/schemas/BusinessPartner_FVO' OrganizationChildRelationship: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Child references of an organization in a structure of organizations. properties: relationshipType: type: string description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example. organization: $ref: '#/components/schemas/OrganizationRef' discriminator: propertyName: '@type' mapping: OrganizationChildRelationship: '#/components/schemas/OrganizationChildRelationship' Individual: allOf: - $ref: '#/components/schemas/Party' - type: object description: Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about. properties: gender: type: string description: Gender placeOfBirth: type: string description: Reference to the place where the individual was born countryOfBirth: type: string description: Country where the individual was born nationality: type: string description: Nationality maritalStatus: type: string description: Marital status (married, divorced, widow ...) birthDate: type: string format: date-time description: Birth date deathDate: type: string format: date-time description: Date of death title: type: string description: Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ... aristocraticTitle: type: string description: e.g. Baron, Graf, Earl generation: type: string description: e.g.. Sr, Jr, III (the third) preferredGivenName: type: string description: 'Contains the chosen name by which the individual prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname' familyNamePrefix: type: string description: Family name prefix legalName: type: string description: Legal name or birth name (name one has for official purposes) middleName: type: string description: Middles name or initial name: type: string description: Full name flatten (first, middle, and last names) - this is the name that is expected to be presented in reference data types such as PartyRef, RelatedParty, etc. that refer to Individual formattedName: type: string description: A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean) location: type: string description: Temporary current location of the individual (may be used if the individual has approved its sharing) status: $ref: '#/components/schemas/IndividualStateType' otherName: type: array items: $ref: '#/components/schemas/OtherNameIndividual' description: List of other names by which this individual is known individualIdentification: type: array items: $ref: '#/components/schemas/IndividualIdentification' description: List of official identifications issued to the individual, such as passport, driving licence, social security number disability: type: array items: $ref: '#/components/schemas/Disability' description: List of disabilities suffered by the individual languageAbility: type: array items: $ref: '#/components/schemas/LanguageAbility' description: List of national languages known by the individual skill: type: array items: $ref: '#/components/schemas/Skill' description: List of skills exhibited by the individual familyName: type: string description: Contains the non-chosen or inherited name. Also known as last name in the Western context givenName: type: string description: First name of the individual ProductRefOrValue_FVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Product entity and not the ProductRefOrValue class itself oneOf: - $ref: '#/components/schemas/Product_FVO' - $ref: '#/components/schemas/ProductRef_FVO' discriminator: propertyName: '@type' mapping: Product: '#/components/schemas/Product_FVO' ProductRef: '#/components/schemas/ProductRef_FVO' AttachmentRefOrValue_FVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Attachment entity and not the AttachmentRefOrValue class itself oneOf: - $ref: '#/components/schemas/Attachment_FVO' - $ref: '#/components/schemas/AttachmentRef_FVO' discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_FVO' AttachmentRef: '#/components/schemas/AttachmentRef_FVO' IndividualIdentification_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an individual (passport, national identity card, drivers license, social security number, birth certificate) properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: 'Authority which has issued the identifier, such as: social security, town hall' issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Identification type (passport, national identity card, drivers license, social security number, birth certificate) validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_MVO' discriminator: propertyName: '@type' mapping: IndividualIdentification: '#/components/schemas/IndividualIdentification_MVO' BillingAccountRef: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' - type: object description: BillingAccount reference. A BillingAccount is a detailed description of a bill structure. properties: ratingType: type: string description: Indicates whether the account follows a specific payment option such as prepaid or postpaid discriminator: propertyName: '@type' mapping: BillingAccountRef: '#/components/schemas/BillingAccountRef' Price_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Provides all amounts (tax included, duty free, tax rate), used currency and percentage to apply for Price and Price Alteration. properties: dutyFreeAmount: $ref: '#/components/schemas/Money' percentage: type: number format: float description: Percentage to apply for ProdOfferPriceAlteration taxIncludedAmount: $ref: '#/components/schemas/Money' taxRate: type: number format: float description: Tax rate discriminator: propertyName: '@type' mapping: Price: '#/components/schemas/Price_FVO' PartyCreditProfile_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: An individual might be evaluated for its worthiness and this evaluation might be based on a credit rating given by a credit agency. properties: creditAgencyName: type: string description: Name of the credit agency giving the score creditAgencyType: type: string description: Type of the credit agency giving the score ratingReference: type: string description: Reference corresponding to the credit rating ratingScore: type: integer format: int32 description: A measure of a party's creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyCreditProfile: '#/components/schemas/PartyCreditProfile_MVO' LanguageAbility: type: object description: Ability of an individual to understand or converse in a language. properties: languageCode: type: string description: Language code (RFC 5646) languageName: type: string description: Language name isFavouriteLanguage: type: boolean description: A “true” value specifies whether the language is considered by the individual as his favourite one writingProficiency: type: string description: Writing proficiency evaluated for this language readingProficiency: type: string description: Reading proficiency evaluated for this language speakingProficiency: type: string description: Speaking proficiency evaluated for this language listeningProficiency: type: string description: Listening proficiency evaluated for this language validFor: $ref: '#/components/schemas/TimePeriod' ExternalIdentifier_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier_MVO' PartyRef_MVO: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_MVO' AgreementRef_FVO: 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. allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: AgreementRef: '#/components/schemas/AgreementRef_FVO' Expression_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Expression is the ontology-encoded form of the Intent properties: expressionLanguage: $ref: '#/components/schemas/ExpressionLanguageEnum' iri: type: string description: Internationalized Resource Identifier of the intent Expression expressionValue: type: string description: expression value is the ontology-encoded form of the Intent such as RDF-XML, Turtle, Json-LD,... required: - '@type' - expressionValue discriminator: propertyName: '@type' mapping: Expression: '#/components/schemas/Expression_FVO' Party: allOf: - $ref: '#/components/schemas/Entity' - type: object description: Generic and Abstract Party structure used to define commonalities between sub concepts of Individual and Organization. properties: externalReference: type: array items: $ref: '#/components/schemas/ExternalIdentifier' description: List of identifiers of the Party in an external system, for example when party information is imported from a commerce system partyCharacteristic: type: array items: $ref: '#/components/schemas/Characteristic' description: List of additional characteristics that a Party can take on. taxExemptionCertificate: type: array items: $ref: '#/components/schemas/TaxExemptionCertificate' description: List of tax exemptions granted to the party. For example, a war veteran might have partial exemption from state tax and a full exemption from federal tax creditRating: type: array items: $ref: '#/components/schemas/PartyCreditProfile' description: List of credit profiles and scores for the party, typically received from an external credit broker relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole' description: List of parties and/or party roles related to this party contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium' description: List of means for contacting the party, e.g. mobile phone, email address discriminator: propertyName: '@type' mapping: Party: '#/components/schemas/Party' Organization: '#/components/schemas/Organization' Individual: '#/components/schemas/Individual' Disability: type: object description: Lack or inadequate strength or ability. properties: disabilityCode: type: string description: Code of the disability disabilityName: type: string description: Name of the disability validFor: $ref: '#/components/schemas/TimePeriod' PaymentMethodRef_MVO: type: object description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PaymentMethodRef: '#/components/schemas/PaymentMethodRef_MVO' RelatedPartyOrPartyRole_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyOrPartyRole_MVO' discriminator: propertyName: '@type' mapping: RelatedPartyOrPartyRole: '#/components/schemas/RelatedPartyOrPartyRole_MVO' TaxDefinition_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Reference of a tax definition. A tax is levied by an authorized tax jurisdiction. For example, there are many different types of tax (Federal Tax levied by the US Government, State Tax levied by the State of California, City Tax levied by the City of Los Angeles, etc.). properties: id: type: string description: Unique identifier of the tax. name: type: string description: Tax name. validFor: $ref: '#/components/schemas/TimePeriod' jurisdictionName: type: string description: Name of the jurisdiction that levies the tax example: USA jurisdictionLevel: type: string description: Level of the jurisdiction that levies the tax example: Country taxType: type: string description: Type of the tax. example: VAT discriminator: propertyName: '@type' mapping: TaxDefinition: '#/components/schemas/TaxDefinition_MVO' GeographicAddress_FVO: allOf: - $ref: '#/components/schemas/Place_FVO' - type: object description: 'Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently). Note : Address corresponds to SID UrbanPropertyAddress' properties: city: type: string description: City that the address is in country: type: string description: Country that the address is in locality: type: string description: An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET] postcode: type: string description: descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also know as zipcode) stateOrProvince: type: string description: the State or Province that the address is in streetName: type: string description: Name of the street or other street type streetNr: type: string description: Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses streetNrLast: type: string description: Last number in a range of street numbers allocated to a property streetNrLastSuffix: type: string description: Last street number suffix for a ranged address streetNrSuffix: type: string description: the first street number suffix streetSuffix: type: string description: A modifier denoting a relative direction streetType: type: string description: 'alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf ' countryCode: type: array items: $ref: '#/components/schemas/StandardIdentifier_FVO' description: Country codes are short alphabetic or numeric geographical codes (geocodes) developed to represent countries and dependent areas, for use in data processing and communications. Several different systems have been developed to do this. The term country code frequently refers to ISO 3166-1 alpha-2 or international dialing codes, the E.164 country calling codes. externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier_FVO' geographicLocation: $ref: '#/components/schemas/GeographicLocationRefOrValue_FVO' geographicSubAddress: type: array items: $ref: '#/components/schemas/GeographicSubAddress_FVO' geographicAddressType: type: string description: 'Classification of the address, e.g., residential, industrial ' TaxDefinition_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Reference of a tax definition. A tax is levied by an authorized tax jurisdiction. For example, there are many different types of tax (Federal Tax levied by the US Government, State Tax levied by the State of California, City Tax levied by the City of Los Angeles, etc.). properties: id: type: string description: Unique identifier of the tax. name: type: string description: Tax name. validFor: $ref: '#/components/schemas/TimePeriod' jurisdictionName: type: string description: Name of the jurisdiction that levies the tax example: USA jurisdictionLevel: type: string description: Level of the jurisdiction that levies the tax example: Country taxType: type: string description: Type of the tax. example: VAT discriminator: propertyName: '@type' mapping: TaxDefinition: '#/components/schemas/TaxDefinition_FVO' Producer_MVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_MVO' PartyRef: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef' Individual_MVO: allOf: - $ref: '#/components/schemas/Party_MVO' - type: object description: Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about. properties: gender: type: string description: Gender placeOfBirth: type: string description: Reference to the place where the individual was born countryOfBirth: type: string description: Country where the individual was born nationality: type: string description: Nationality maritalStatus: type: string description: Marital status (married, divorced, widow ...) birthDate: type: string format: date-time description: Birth date deathDate: type: string format: date-time description: Date of death title: type: string description: Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ... aristocraticTitle: type: string description: e.g. Baron, Graf, Earl generation: type: string description: e.g.. Sr, Jr, III (the third) preferredGivenName: type: string description: 'Contains the chosen name by which the individual prefers to be addressed. Note: This name may be a name other than a given name, such as a nickname' familyNamePrefix: type: string description: Family name prefix legalName: type: string description: Legal name or birth name (name one has for official purposes) middleName: type: string description: Middles name or initial name: type: string description: Full name flatten (first, middle, and last names) - this is the name that is expected to be presented in reference data types such as PartyRef, RelatedParty, etc. that refer to Individual formattedName: type: string description: A fully formatted name in one string with all of its pieces in their proper place and all of the necessary punctuation. Useful for specific contexts (Chinese, Japanese, Korean) location: type: string description: Temporary current location of the individual (may be used if the individual has approved its sharing) status: $ref: '#/components/schemas/IndividualStateType' otherName: type: array items: $ref: '#/components/schemas/OtherNameIndividual' description: List of other names by which this individual is known individualIdentification: type: array items: $ref: '#/components/schemas/IndividualIdentification_MVO' description: List of official identifications issued to the individual, such as passport, driving licence, social security number disability: type: array items: $ref: '#/components/schemas/Disability' description: List of disabilities suffered by the individual languageAbility: type: array items: $ref: '#/components/schemas/LanguageAbility' description: List of national languages known by the individual skill: type: array items: $ref: '#/components/schemas/Skill' description: List of skills exhibited by the individual familyName: type: string description: Contains the non-chosen or inherited name. Also known as last name in the Western context givenName: type: string description: First name of the individual BusinessPartner_MVO: type: object description: 'When business partner is the BusinessPartner ' allOf: - $ref: '#/components/schemas/PartyRole_MVO' Party_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: Generic and Abstract Party structure used to define commonalities between sub concepts of Individual and Organization. properties: externalReference: type: array items: $ref: '#/components/schemas/ExternalIdentifier_MVO' description: List of identifiers of the Party in an external system, for example when party information is imported from a commerce system partyCharacteristic: type: array items: $ref: '#/components/schemas/Characteristic_MVO' description: List of additional characteristics that a Party can take on. taxExemptionCertificate: type: array items: $ref: '#/components/schemas/TaxExemptionCertificate_MVO' description: List of tax exemptions granted to the party. For example, a war veteran might have partial exemption from state tax and a full exemption from federal tax creditRating: type: array items: $ref: '#/components/schemas/PartyCreditProfile_MVO' description: List of credit profiles and scores for the party, typically received from an external credit broker relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_MVO' description: List of parties and/or party roles related to this party contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium_MVO' description: List of means for contacting the party, e.g. mobile phone, email address discriminator: propertyName: '@type' mapping: Party: '#/components/schemas/Party_MVO' Organization: '#/components/schemas/Organization_MVO' Individual: '#/components/schemas/Individual_MVO' ResourceRef: type: object description: Resource reference, for when Resource is used by other entities. allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: ResourceRef: '#/components/schemas/ResourceRef' ProductPrice_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Description of price and discount awarded properties: description: type: string description: Description of the Product price name: type: string description: Name of the Product price productOfferingPrice: $ref: '#/components/schemas/ProductOfferingPriceRef_FVO' 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: '#/components/schemas/Price_FVO' priceAlteration: type: array items: $ref: '#/components/schemas/PriceAlteration_FVO' priceType: type: string description: indicate if the price is for recurrent or no-recurrent charge required: - priceType - price discriminator: propertyName: '@type' mapping: ProductPrice: '#/components/schemas/ProductPrice_FVO' ServiceRef_FVO: type: object description: Service reference, for when Service is used by other entities. allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: ServiceRef: '#/components/schemas/ServiceRef_FVO' ResourceRef_MVO: type: object description: Resource reference, for when Resource is used by other entities. allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: ResourceRef: '#/components/schemas/ResourceRef_MVO' Entity_MVO: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible' RelatedPlaceRefOrValue_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Entity reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the RelatedPlace entity and not the RelatedPlaceRefOrValue class itself properties: role: type: string place: $ref: '#/components/schemas/PlaceRefOrValue_MVO' discriminator: propertyName: '@type' mapping: RelatedPlaceRefOrValue: '#/components/schemas/RelatedPlaceRefOrValue_MVO' TaxExemptionCertificate_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: A tax exemption certificate represents a tax exemption granted to a party (individual or organization) by a tax jurisdiction which may be a city, state, country,... An exemption has a certificate identifier (received from the jurisdiction that levied the tax) and a validity period. An exemption is per tax types and determines for each type of tax what portion of the tax is exempted (partial by percentage or complete) via the tax definition. properties: id: type: string description: Identifier of the tax exemption within list of the exemptions taxDefinition: type: array items: $ref: '#/components/schemas/TaxDefinition_MVO' description: A list of taxes that are covered by the exemption, e.g. City Tax, State Tax. The definition would include the exemption (e.g. for a rate exemption 0% would be a full exemption, 5% could be a partial exemption if the actual rate was 10%). validFor: $ref: '#/components/schemas/TimePeriod' certificateNumber: type: string description: Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction issuingJurisdiction: type: string description: Name of the jurisdiction that issued the exemption example: USA reason: type: string description: Reason for the tax exemption attachment: $ref: '#/components/schemas/AttachmentRefOrValue_MVO' discriminator: propertyName: '@type' mapping: TaxExemptionCertificate: '#/components/schemas/TaxExemptionCertificate_MVO' GeographicLocationRefOrValue_MVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the GeographicLocation entity and not the GeographicLocationRefOrValue class itself oneOf: - $ref: '#/components/schemas/GeographicLocation_MVO' - $ref: '#/components/schemas/GeographicLocationRef_MVO' discriminator: propertyName: '@type' mapping: GeographicLocation: '#/components/schemas/GeographicLocation_MVO' GeographicLocationRef: '#/components/schemas/GeographicLocationRef_MVO' PlaceRef_FVO: type: object description: Place reference. allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: PlaceRef: '#/components/schemas/PlaceRef_FVO' ProductRef_MVO: type: object description: A Product reference allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: ProductRef: '#/components/schemas/ProductRef_MVO' TaxDefinition: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Reference of a tax definition. A tax is levied by an authorized tax jurisdiction. For example, there are many different types of tax (Federal Tax levied by the US Government, State Tax levied by the State of California, City Tax levied by the City of Los Angeles, etc.). properties: id: type: string description: Unique identifier of the tax. name: type: string description: Tax name. validFor: $ref: '#/components/schemas/TimePeriod' jurisdictionName: type: string description: Name of the jurisdiction that levies the tax example: USA jurisdictionLevel: type: string description: Level of the jurisdiction that levies the tax example: Country taxType: type: string description: Type of the tax. example: VAT discriminator: propertyName: '@type' mapping: TaxDefinition: '#/components/schemas/TaxDefinition' GeographicSubAddress_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: "Representation of a GeographicSubAddress \nIt is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building." properties: buildingName: type: string description: allows for buildings that have well-known names href: type: string description: Link to the subAddress id: type: string description: Unique Identifier of the subAddress levelNumber: type: string description: used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2 levelType: type: string description: describes level types within a building name: type: string description: Name of the subAddress to identify it with a meaningful identification privateStreetName: type: string description: private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office. privateStreetNumber: type: string description: private streets numbers internal to a private street subUnit: type: array description: Representation of a SubUnit. It is used for describing subunit within a subAddress e.g. BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF. items: $ref: '#/components/schemas/GeographicSubAddressUnit_FVO' subAddressType: type: string description: 'Type of subAddress : it can be a subunit or a private street' discriminator: propertyName: '@type' mapping: GeographicSubAddress: '#/components/schemas/GeographicSubAddress_FVO' ProductRelationship: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' - type: object description: Used to describe relationship between product. properties: id: type: string description: Id of the related product relationshipType: type: string description: Relationship type as relies on, bundles, etc... discriminator: propertyName: '@type' mapping: ProductRelationship: '#/components/schemas/ProductRelationship' OrganizationRef_MVO: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: OrganizationRef: '#/components/schemas/OrganizationRef_MVO' TaxExemptionCertificate_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: A tax exemption certificate represents a tax exemption granted to a party (individual or organization) by a tax jurisdiction which may be a city, state, country,... An exemption has a certificate identifier (received from the jurisdiction that levied the tax) and a validity period. An exemption is per tax types and determines for each type of tax what portion of the tax is exempted (partial by percentage or complete) via the tax definition. properties: id: type: string description: Identifier of the tax exemption within list of the exemptions taxDefinition: type: array items: $ref: '#/components/schemas/TaxDefinition_FVO' description: A list of taxes that are covered by the exemption, e.g. City Tax, State Tax. The definition would include the exemption (e.g. for a rate exemption 0% would be a full exemption, 5% could be a partial exemption if the actual rate was 10%). validFor: $ref: '#/components/schemas/TimePeriod' certificateNumber: type: string description: Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction issuingJurisdiction: type: string description: Name of the jurisdiction that issued the exemption example: USA reason: type: string description: Reason for the tax exemption attachment: $ref: '#/components/schemas/AttachmentRefOrValue_FVO' discriminator: propertyName: '@type' mapping: TaxExemptionCertificate: '#/components/schemas/TaxExemptionCertificate_FVO' 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 signed floating point number, the meaning of the sign is according to the context of the API that uses this Data type Characteristic_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Describes a given characteristic of an object or entity through a name/value pair. properties: id: type: string description: Unique identifier of the characteristic name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic characteristicRelationship: type: array items: $ref: '#/components/schemas/CharacteristicRelationship_MVO' discriminator: propertyName: '@type' mapping: Characteristic: '#/components/schemas/Characteristic_MVO' StringCharacteristic: '#/components/schemas/StringCharacteristic_MVO' StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic_MVO' ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic_MVO' ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic_MVO' NumberCharacteristic: '#/components/schemas/NumberCharacteristic_MVO' NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic_MVO' IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic_MVO' IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic_MVO' BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic_MVO' BooleanArrayCharacteristic: '#/components/schemas/BooleanArrayCharacteristic_MVO' Expression: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Expression is the ontology-encoded form of the Intent properties: expressionLanguage: $ref: '#/components/schemas/ExpressionLanguageEnum' iri: type: string description: Internationalized Resource Identifier of the intent Expression expressionValue: type: string description: expression value is the ontology-encoded form of the Intent such as RDF-XML, Turtle, Json-LD,... discriminator: propertyName: '@type' mapping: Expression: '#/components/schemas/Expression' GeographicLocationRef: type: object allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: GeographicLocationRef: '#/components/schemas/GeographicLocationRef' CreditProfile_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: Credit profile for the party (containing credit scoring, ...). By default only the current credit profile is retrieved. It can be used as a list to give the party credit profiles history, the first one in the list will be the current one. properties: creditProfileDate: type: string format: date-time description: The date the profile was established creditRiskRating: type: integer description: This is an integer whose value is used to rate the risk creditScore: type: integer description: A measure of a person or organizations creditworthiness calculated on the basis of a combination of factors such as their income and credit history validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: CreditProfile: '#/components/schemas/CreditProfile_FVO' IndividualIdentification: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an individual (passport, national identity card, drivers license, social security number, birth certificate) properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: 'Authority which has issued the identifier, such as: social security, town hall' issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Identification type (passport, national identity card, drivers license, social security number, birth certificate) validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue' discriminator: propertyName: '@type' mapping: IndividualIdentification: '#/components/schemas/IndividualIdentification' IntentRefOrValue_FVO: type: object description: Intent Ref (if Intent already exists) or Value (if Intent be created or its details be presented) oneOf: - $ref: '#/components/schemas/IntentRef_FVO' - $ref: '#/components/schemas/Intent_FVO' discriminator: propertyName: '@type' mapping: IntentRef: '#/components/schemas/IntentRef_FVO' Intent: '#/components/schemas/Intent_FVO' ProductOfferingPriceRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - 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: version: type: string description: Version of the product offering price discriminator: propertyName: '@type' mapping: ProductOfferingPriceRef: '#/components/schemas/ProductOfferingPriceRef_FVO' OrganizationChildRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Child references of an organization in a structure of organizations. properties: relationshipType: type: string description: Type of the relationship. Could be juridical, hierarchical, geographical, functional for example. organization: $ref: '#/components/schemas/OrganizationRef_FVO' discriminator: propertyName: '@type' mapping: OrganizationChildRelationship: '#/components/schemas/OrganizationChildRelationship_FVO' IntentRef_MVO: type: object description: Intent reference, for when Intent is used by other entities allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: IntentRef: '#/components/schemas/IntentRef_MVO' OrganizationIdentification_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Represents our registration of information used as proof of identity by an organization properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: Authority which has issued the identifier (chamber of commerce...) issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Type of identification information used to identify the company in a country or internationally validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_FVO' discriminator: propertyName: '@type' mapping: OrganizationIdentification: '#/components/schemas/OrganizationIdentification_FVO' ItemActionType: enum: - add - modify - delete - noChange type: string description: action to be performed on the entity managed by the item ProductTerm_MVO: allOf: - $ref: '#/components/schemas/Extensible' - 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 duration: $ref: '#/components/schemas/Duration' validFor: $ref: '#/components/schemas/TimePeriod' name: type: string description: Name of the productTerm example: 12months commitment discriminator: propertyName: '@type' mapping: ProductTerm: '#/components/schemas/ProductTerm_MVO' BillingAccountRef_MVO: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' - type: object description: BillingAccount reference. A BillingAccount is a detailed description of a bill structure. properties: ratingType: type: string description: Indicates whether the account follows a specific payment option such as prepaid or postpaid discriminator: propertyName: '@type' mapping: BillingAccountRef: '#/components/schemas/BillingAccountRef_MVO' RelatedPartyRefOrPartyRoleRef: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyRefOrPartyRoleRef' discriminator: propertyName: '@type' mapping: RelatedPartyRefOrPartyRoleRef: '#/components/schemas/RelatedPartyRefOrPartyRoleRef' GeographicLocation: allOf: - $ref: '#/components/schemas/Place' - type: object description: A GeographicLocation is a pure-virtual super-class to the GeoJSON-aligned geometries of Point (addresses and locations), MultiPoint, LineString (streets, highways and boundaries), MultiLineString and Polygon (countries, provinces, tracts of land). Use the @type attribute to specify which of these is being specified by the geometry attribute. properties: id: type: string description: Unique identifier of the geographic location href: type: string description: An URI used to access to the geographic location resource '@type': type: string enum: - GeoJsonPoint - GeoJsonMultiPoint - GeoJsonLineString - GeoJsonMultiLineString - GeoJsonPolygon description: The name of the GeoJSON structure used in the geometry attribute bbox: type: array description: A bounding box array that contains the geometry. The axes order follows the axes order of the geometry items: type: number ServiceRef_MVO: type: object description: Service reference, for when Service is used by other entities. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: ServiceRef: '#/components/schemas/ServiceRef_MVO' Place_FVO: type: object description: Place reference. allOf: - $ref: '#/components/schemas/Entity_FVO' discriminator: propertyName: '@type' mapping: Place: '#/components/schemas/Place_FVO' GeographicSite: '#/components/schemas/GeographicSite_FVO' GeographicLocation: '#/components/schemas/GeographicLocation_FVO' GeographicAddress: '#/components/schemas/GeographicAddress_FVO' PlaceRef_MVO: type: object description: Place reference. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PlaceRef: '#/components/schemas/PlaceRef_MVO' RelatedPlaceRefOrValue: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Entity reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the RelatedPlace entity and not the RelatedPlaceRefOrValue class itself properties: role: type: string place: $ref: '#/components/schemas/PlaceRefOrValue' discriminator: propertyName: '@type' mapping: RelatedPlaceRefOrValue: '#/components/schemas/RelatedPlaceRefOrValue' RelatedPartyRefOrPartyRoleRef_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyRefOrPartyRoleRef_MVO' discriminator: propertyName: '@type' mapping: RelatedPartyRefOrPartyRoleRef: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_MVO' GeographicLocationRefOrValue_FVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the GeographicLocation entity and not the GeographicLocationRefOrValue class itself oneOf: - $ref: '#/components/schemas/GeographicLocation_FVO' - $ref: '#/components/schemas/GeographicLocationRef_FVO' discriminator: propertyName: '@type' mapping: GeographicLocation: '#/components/schemas/GeographicLocation_FVO' GeographicLocationRef: '#/components/schemas/GeographicLocationRef_FVO' PaymentMethodRef_FVO: type: object description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: PaymentMethodRef: '#/components/schemas/PaymentMethodRef_FVO' ProductTerm: allOf: - $ref: '#/components/schemas/Extensible' - 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 duration: $ref: '#/components/schemas/Duration' validFor: $ref: '#/components/schemas/TimePeriod' name: type: string description: Name of the productTerm example: 12months commitment discriminator: propertyName: '@type' mapping: ProductTerm: '#/components/schemas/ProductTerm' OrganizationIdentification: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an organization properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: Authority which has issued the identifier (chamber of commerce...) issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Type of identification information used to identify the company in a country or internationally validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue' discriminator: propertyName: '@type' mapping: OrganizationIdentification: '#/components/schemas/OrganizationIdentification' GeographicSiteRelationship: allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: href: type: string description: Reference of the related geographic site role: type: string description: Role of the related site in the relationship validFor: $ref: '#/components/schemas/TimePeriod' id: type: string description: Unique identifier of the related site entity within the server relationshipType: type: string description: Type of relationship discriminator: propertyName: '@type' mapping: GeographicSiteRelationship: '#/components/schemas/GeographicSiteRelationship' ProductStatusType: enum: - created - pendingActive - cancelled - active - pendingTerminate - terminated - suspended - 'aborted ' type: string description: Possible values for the status of the product Error: discriminator: propertyName: '@type' mapping: Error: '#/components/schemas/Error' allOf: - $ref: '#/components/schemas/Extensible' - 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 description: URI of documentation describing the error. description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) CharacteristicRelationship: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Another Characteristic that is related to the current Characteristic; properties: id: type: string description: Unique identifier of the characteristic relationshipType: type: string description: The type of relationship discriminator: propertyName: '@type' mapping: CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship' TargetProductSchema_MVO: type: object description: The reference object to the schema and type of target product which is described by product specification properties: '@type': type: string description: Class type of the target product '@schemaLocation': type: string format: uri description: This field provides a link to the schema describing the target product JsonPatch: type: object description: A JSONPatch document as defined by RFC 6902 required: - op - path properties: op: type: string description: The operation to be performed enum: - add - remove - replace - move - copy - test path: type: string description: A JSON-Pointer value: description: The value to be used within the operations. from: type: string description: A string containing a JSON Pointer value. AccountRef_MVO: type: object description: Account reference. A account may be a party account or a financial account. allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: AccountRef: '#/components/schemas/AccountRef_MVO' TimePeriod: type: object description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both properties: startDateTime: description: Start of the time period, using IETC-RFC-3339 format type: string format: date-time example: '1985-04-12T23:20:50.52Z' endDateTime: description: End of the time period, using IETC-RFC-3339 format type: string format: date-time example: '1985-04-12T23:20:50.52Z' Entity: type: object description: Base entity schema for use in TMForum Open-APIs. Property. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' ProductOfferingRef: allOf: - $ref: '#/components/schemas/EntityRef' - 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: version: type: string description: Version of the product offering discriminator: propertyName: '@type' mapping: ProductOfferingRef: '#/components/schemas/ProductOfferingRef' Consumer_MVO: type: object allOf: - $ref: '#/components/schemas/PartyRole_MVO' ProductOfferingRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - 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: version: type: string description: Version of the product offering discriminator: propertyName: '@type' mapping: ProductOfferingRef: '#/components/schemas/ProductOfferingRef_FVO' ProductOfferingPriceRef: allOf: - $ref: '#/components/schemas/EntityRef' - 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: version: type: string description: Version of the product offering price discriminator: propertyName: '@type' mapping: ProductOfferingPriceRef: '#/components/schemas/ProductOfferingPriceRef' RelatedPartyOrPartyRole_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyOrPartyRole_FVO' required: - role discriminator: propertyName: '@type' mapping: RelatedPartyOrPartyRole: '#/components/schemas/RelatedPartyOrPartyRole_FVO' ContactMedium_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Indicates the contact medium that could be used to contact the party. properties: id: type: string description: Identifier for this contact medium. preferred: type: boolean description: If true, indicates that is the preferred contact medium contactType: type: string description: Type of the contact medium to qualifiy it like pro email / personal email. This is not used to define the contact medium used. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: ContactMedium: '#/components/schemas/ContactMedium_FVO' PartyRoleSpecificationRef: type: object description: Party role specification reference. A party role specification gives additional details on the part played by a party in a given context. allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRoleSpecificationRef: '#/components/schemas/PartyRoleSpecificationRef' IndividualIdentification_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Represents our registration of information used as proof of identity by an individual (passport, national identity card, drivers license, social security number, birth certificate) properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: 'Authority which has issued the identifier, such as: social security, town hall' issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Identification type (passport, national identity card, drivers license, social security number, birth certificate) validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_FVO' discriminator: propertyName: '@type' mapping: IndividualIdentification: '#/components/schemas/IndividualIdentification_FVO' ProductRef_FVO: type: object description: A Product reference allOf: - $ref: '#/components/schemas/Extensible_FVO' - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: ProductRef: '#/components/schemas/ProductRef_FVO' Product: allOf: - $ref: '#/components/schemas/Entity' - type: object description: A product offering procured by a customer or other interested party playing a party role. A product is realized as one or more service(s) and / or resource(s). properties: agreementItem: type: array items: $ref: '#/components/schemas/AgreementItemRef' billingAccount: $ref: '#/components/schemas/BillingAccountRef' creationDate: type: string format: date-time description: Date and time when the product was created description: type: string description: Is the description of the product. It could be copied from the description of the Product Offering. isBundle: type: boolean description: If true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOffering. isCustomerVisible: type: boolean description: If true, the product is visible by the customer. name: type: string description: Name of the product. It could be the same as the name of the product offering orderDate: type: string format: date-time description: Is the date when the product was ordered productCharacteristic: type: array items: $ref: '#/components/schemas/Characteristic' productOffering: $ref: '#/components/schemas/ProductOfferingRef' productOrderItem: type: array items: $ref: '#/components/schemas/RelatedOrderItem' product: type: array items: $ref: '#/components/schemas/ProductRefOrValue' productPrice: type: array items: $ref: '#/components/schemas/ProductPrice' productRelationship: type: array items: $ref: '#/components/schemas/ProductRelationship' productSerialNumber: type: string description: Is the serial number for the product. This is typically applicable to tangible products e.g. Broadband Router. productSpecification: $ref: '#/components/schemas/ProductSpecificationRef' productTerm: type: array items: $ref: '#/components/schemas/ProductTerm' realizingResource: type: array items: $ref: '#/components/schemas/ResourceRef' realizingService: type: array items: $ref: '#/components/schemas/ServiceRef' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole' place: type: array items: $ref: '#/components/schemas/RelatedPlaceRefOrValue' startDate: type: string format: date-time description: Is the date from which the product starts status: $ref: '#/components/schemas/ProductStatusType' terminationDate: type: string format: date-time description: Is the date when the product was terminated intent: $ref: '#/components/schemas/IntentRefOrValue' discriminator: propertyName: '@type' mapping: Product: '#/components/schemas/Product' RelatedPartyOrPartyRole: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyOrPartyRole' discriminator: propertyName: '@type' mapping: RelatedPartyOrPartyRole: '#/components/schemas/RelatedPartyOrPartyRole' Organization_MVO: allOf: - $ref: '#/components/schemas/Party_MVO' - type: object description: Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data. properties: isLegalEntity: type: boolean description: If value is true, the organization is a legal entity known by a national referential. isHeadOffice: type: boolean description: If value is true, the organization is the head office organizationType: type: string description: Type of Organization (company, department...) existsDuring: $ref: '#/components/schemas/TimePeriod' name: type: string description: Organization name (department name for example) nameType: type: string description: 'Type of the name : Co, Inc, Ltd, etc.' status: $ref: '#/components/schemas/OrganizationStateType' otherName: type: array items: $ref: '#/components/schemas/OtherNameOrganization_MVO' description: List of additional names by which the organization is known organizationIdentification: type: array items: $ref: '#/components/schemas/OrganizationIdentification_MVO' description: List of official identifiers given to the organization, for example company number in the registry of companies organizationChildRelationship: type: array items: $ref: '#/components/schemas/OrganizationChildRelationship_MVO' description: List of organizations that are contained within this organization. For example if this organization is the Legal Department, the child organizations might include Claims, Courts, Contracts organizationParentRelationship: $ref: '#/components/schemas/OrganizationParentRelationship_MVO' tradingName: type: string description: Name that the organization (unit) trades under Intent: allOf: - $ref: '#/components/schemas/Entity' - type: object description: An Intent instance is the formal description of all expectations including requirements, goals, and constraints given to a technical system properties: description: type: string description: The description of the intent. validFor: $ref: '#/components/schemas/TimePeriod' isBundle: type: boolean description: isBundle determines whether an intent represents a single intent (false), or a bundle of intents(true). priority: type: string description: Can be used by intent owner to prioritize intents in an intent management system statusChangeDate: type: string format: date-time description: A date time( DateTime). The date that the entity status changed to the current one context: type: string description: A string used to give a context to the intent version: type: string description: A field that identifies the specific version of an instance of an intent. intentSpecification: $ref: '#/components/schemas/EntityRef' intentRelationship: type: array items: $ref: '#/components/schemas/EntityRelationship' description: A list of intents related to this intent characteristic: type: array items: $ref: '#/components/schemas/Characteristic' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyRefOrPartyRoleRef' attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue' description: Attachments that may be of relevance to this intent, such as picture, document, media name: type: string description: The name of the intent. expression: $ref: '#/components/schemas/Expression' creationDate: type: string format: date-time description: Date and time of the creation of this REST resource lastUpdate: type: string format: date-time description: Date and time of the last update of this REST resource lifecycleStatus: type: string description: Used to indicate the current lifecycle status of this intent discriminator: propertyName: '@type' mapping: Intent: '#/components/schemas/Intent' StandardIdentifier_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: The corresponding identification of the resource in different standard, regulatory definitions. The standard specification identifier (e.g., ISO 3166-1 Alpha-2) and the corresponding value (e.g., BE) relevant to a particular resource. It is anticipated that multiple standards can provide definitions for a single entity, e.g., a country identifier can be specified in various standards (e.g., "ISO 3166-1 Alpha 2", "ISO 3166-1 Alpha 3", "ISO 3166-1 Numeric") properties: format: type: string description: Standard/Regulatory definition identifier. e.g., ISO 3166-1 example: ISO 3166-1 value: type: string description: The value of the resource in the corresponding standard.e.g., a country code value example: GB discriminator: propertyName: '@type' mapping: StandardIdentifier: '#/components/schemas/StandardIdentifier_MVO' OtherNameOrganization_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Keeps track of other names, for example the old name of an organization. properties: tradingName: type: string description: The name that the organization trades under nameType: type: string description: Co. , Inc. , Ltd. , Pty Ltd. , Plc; , Gmbh name: type: string description: Organization name (department name for example) validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: OtherNameOrganization: '#/components/schemas/OtherNameOrganization_MVO' GeographicSiteRelationship_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: href: type: string description: Reference of the related geographic site role: type: string description: Role of the related site in the relationship validFor: $ref: '#/components/schemas/TimePeriod' id: type: string description: Unique identifier of the related site entity within the server relationshipType: type: string description: Type of relationship discriminator: propertyName: '@type' mapping: GeographicSiteRelationship: '#/components/schemas/GeographicSiteRelationship_MVO' CalendarPeriod_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object properties: day: type: string description: 'Day where the calendar status applies (e.g.: monday, mon-to-fri, weekdays, weekend, all week, ...)' timeZone: type: string description: 'Indication of the timezone applicable to the calendar information (e.g.: Paris, GMT+1)' hourPeriod: type: array items: $ref: '#/components/schemas/HourPeriod_FVO' status: type: string description: 'Indication of the availability of the caledar period (e.g.: available, booked, etc.)' required: - status discriminator: propertyName: '@type' mapping: CalendarPeriod: '#/components/schemas/CalendarPeriod_FVO' IntentRefOrValue_MVO: type: object description: Intent Ref (if Intent already exists) or Value (if Intent be created or its details be presented) oneOf: - $ref: '#/components/schemas/IntentRef_MVO' - $ref: '#/components/schemas/Intent_MVO' discriminator: propertyName: '@type' mapping: IntentRef: '#/components/schemas/IntentRef_MVO' Intent: '#/components/schemas/Intent_MVO' ResourceRef_FVO: type: object description: Resource reference, for when Resource is used by other entities. allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: ResourceRef: '#/components/schemas/ResourceRef_FVO' Attachment_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: Complements the description of an element (for instance a product) through video, pictures... properties: name: type: string description: The name of the attachment description: type: string description: A narrative text describing the content of the attachment example: Photograph of the Product url: type: string description: Uniform Resource Locator, is a web page address (a subset of URI) example: http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f content: type: string format: base64 description: The actual contents of the attachment object, if embedded, encoded as base64 size: $ref: '#/components/schemas/Quantity' validFor: $ref: '#/components/schemas/TimePeriod' attachmentType: type: string description: a business characterization of the purpose of the attachment, for example logo, instructionManual, contractCopy mimeType: type: string description: a technical characterization of the attachment content format using IETF Mime Types discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_MVO' OrganizationIdentification_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Represents our registration of information used as proof of identity by an organization properties: identificationId: type: string description: Identifier issuingAuthority: type: string description: Authority which has issued the identifier (chamber of commerce...) issuingDate: type: string format: date-time description: Date at which the identifier was issued identificationType: type: string description: Type of identification information used to identify the company in a country or internationally validFor: $ref: '#/components/schemas/TimePeriod' attachment: $ref: '#/components/schemas/AttachmentRefOrValue_MVO' discriminator: propertyName: '@type' mapping: OrganizationIdentification: '#/components/schemas/OrganizationIdentification_MVO' GeographicSubAddressUnit_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Representation of a SubUnit. It is used for describing subunit within a subAddress e.g. BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF. properties: subUnitNumber: type: string description: The discriminator used for the subunit, often just a simple number but may also be a range. subUnitType: type: string description: The type of subunit e.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF, RACK required: - subUnitNumber - subUnitType discriminator: propertyName: '@type' mapping: GeographicSubAddressUnit: '#/components/schemas/GeographicSubAddressUnit_FVO' PartyRefOrPartyRoleRef_FVO: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef_FVO' - $ref: '#/components/schemas/PartyRoleRef_FVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_FVO' PartyRoleRef: '#/components/schemas/PartyRoleRef_FVO' StandardIdentifier_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: The corresponding identification of the resource in different standard, regulatory definitions. The standard specification identifier (e.g., ISO 3166-1 Alpha-2) and the corresponding value (e.g., BE) relevant to a particular resource. It is anticipated that multiple standards can provide definitions for a single entity, e.g., a country identifier can be specified in various standards (e.g., "ISO 3166-1 Alpha 2", "ISO 3166-1 Alpha 3", "ISO 3166-1 Numeric") properties: format: type: string description: Standard/Regulatory definition identifier. e.g., ISO 3166-1 example: ISO 3166-1 value: type: string description: The value of the resource in the corresponding standard.e.g., a country code value example: GB discriminator: propertyName: '@type' mapping: StandardIdentifier: '#/components/schemas/StandardIdentifier_FVO' OrganizationStateType: enum: - initialized - validated - closed type: string description: Valid values for the lifecycle state of the organization TargetProductSchema_FVO: type: object description: The reference object to the schema and type of target product which is described by product specification properties: '@type': type: string description: Class type of the target product '@schemaLocation': type: string format: uri description: This field provides a link to the schema describing the target product required: - '@type' - '@schemaLocation' AttachmentRefOrValue_MVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Attachment entity and not the AttachmentRefOrValue class itself oneOf: - $ref: '#/components/schemas/Attachment_MVO' - $ref: '#/components/schemas/AttachmentRef_MVO' discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment_MVO' AttachmentRef: '#/components/schemas/AttachmentRef_MVO' Intent_FVO: allOf: - $ref: '#/components/schemas/Entity_FVO' - type: object description: An Intent instance is the formal description of all expectations including requirements, goals, and constraints given to a technical system properties: description: type: string description: The description of the intent. validFor: $ref: '#/components/schemas/TimePeriod' isBundle: type: boolean description: isBundle determines whether an intent represents a single intent (false), or a bundle of intents(true). priority: type: string description: Can be used by intent owner to prioritize intents in an intent management system statusChangeDate: type: string format: date-time description: A date time( DateTime). The date that the entity status changed to the current one context: type: string description: A string used to give a context to the intent version: type: string description: A field that identifies the specific version of an instance of an intent. intentSpecification: $ref: '#/components/schemas/EntityRef_FVO' intentRelationship: type: array items: $ref: '#/components/schemas/EntityRelationship_FVO' description: A list of intents related to this intent characteristic: type: array items: $ref: '#/components/schemas/Characteristic_FVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_FVO' attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue_FVO' description: Attachments that may be of relevance to this intent, such as picture, document, media name: type: string description: The name of the intent. expression: $ref: '#/components/schemas/Expression_FVO' creationDate: type: string format: date-time description: Date and time of the creation of this REST resource lastUpdate: type: string format: date-time description: Date and time of the last update of this REST resource lifecycleStatus: type: string description: Used to indicate the current lifecycle status of this intent required: - name - creationDate - lastUpdate - lifecycleStatus discriminator: propertyName: '@type' mapping: Intent: '#/components/schemas/Intent_FVO' IntentRef: type: object description: Intent reference, for when Intent is used by other entities allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: IntentRef: '#/components/schemas/IntentRef' GeographicLocation_MVO: allOf: - $ref: '#/components/schemas/Place_MVO' - type: object description: A GeographicLocation is a pure-virtual super-class to the GeoJSON-aligned geometries of Point (addresses and locations), MultiPoint, LineString (streets, highways and boundaries), MultiLineString and Polygon (countries, provinces, tracts of land). Use the @type attribute to specify which of these is being specified by the geometry attribute. properties: id: type: string description: Unique identifier of the geographic location href: type: string description: An URI used to access to the geographic location resource '@type': type: string enum: - GeoJsonPoint - GeoJsonMultiPoint - GeoJsonLineString - GeoJsonMultiLineString - GeoJsonPolygon description: The name of the GeoJSON structure used in the geometry attribute bbox: type: array description: A bounding box array that contains the geometry. The axes order follows the axes order of the geometry items: type: number ServiceRef: type: object description: Service reference, for when Service is used by other entities. allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: ServiceRef: '#/components/schemas/ServiceRef' AttachmentRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures properties: description: type: string description: A narrative text describing the content of the attachment url: description: Link to the attachment media/content type: string discriminator: propertyName: '@type' mapping: AttachmentRef: '#/components/schemas/AttachmentRef_MVO' GeographicAddress: allOf: - $ref: '#/components/schemas/Place' - type: object description: 'Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently). Note : Address corresponds to SID UrbanPropertyAddress' properties: city: type: string description: City that the address is in country: type: string description: Country that the address is in locality: type: string description: An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET] postcode: type: string description: descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also know as zipcode) stateOrProvince: type: string description: the State or Province that the address is in streetName: type: string description: Name of the street or other street type streetNr: type: string description: Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses streetNrLast: type: string description: Last number in a range of street numbers allocated to a property streetNrLastSuffix: type: string description: Last street number suffix for a ranged address streetNrSuffix: type: string description: the first street number suffix streetSuffix: type: string description: A modifier denoting a relative direction streetType: type: string description: 'alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf ' countryCode: type: array items: $ref: '#/components/schemas/StandardIdentifier' description: Country codes are short alphabetic or numeric geographical codes (geocodes) developed to represent countries and dependent areas, for use in data processing and communications. Several different systems have been developed to do this. The term country code frequently refers to ISO 3166-1 alpha-2 or international dialing codes, the E.164 country calling codes. externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier' geographicLocation: $ref: '#/components/schemas/GeographicLocationRefOrValue' geographicSubAddress: type: array items: $ref: '#/components/schemas/GeographicSubAddress' geographicAddressType: type: string description: 'Classification of the address, e.g., residential, industrial ' CharacteristicRelationship_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Another Characteristic that is related to the current Characteristic; properties: id: type: string description: Unique identifier of the characteristic relationshipType: type: string description: The type of relationship required: - id - relationshipType discriminator: propertyName: '@type' mapping: CharacteristicRelationship: '#/components/schemas/CharacteristicRelationship_FVO' PartyRole_MVO: allOf: - $ref: '#/components/schemas/Entity_MVO' - type: object description: The part played by a party in a given context. properties: name: type: string description: A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles. It's the name of the PartyRole unique entity. description: type: string description: A description of the PartyRole. role: type: string description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification. engagedParty: $ref: '#/components/schemas/PartyRef_MVO' partyRoleSpecification: $ref: '#/components/schemas/PartyRoleSpecificationRef_MVO' characteristic: type: array items: $ref: '#/components/schemas/Characteristic_MVO' description: Describes the characteristic of a party role. account: type: array items: $ref: '#/components/schemas/AccountRef_MVO' agreement: type: array items: $ref: '#/components/schemas/AgreementRef_MVO' contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium_MVO' paymentMethod: type: array items: $ref: '#/components/schemas/PaymentMethodRef_MVO' creditProfile: type: array items: $ref: '#/components/schemas/CreditProfile_MVO' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_MVO' status: type: string description: Used to track the lifecycle status of the party role. statusReason: type: string description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyRole: '#/components/schemas/PartyRole_MVO' Supplier: '#/components/schemas/Supplier_MVO' Producer: '#/components/schemas/Producer_MVO' Consumer: '#/components/schemas/Consumer_MVO' BusinessPartner: '#/components/schemas/BusinessPartner_MVO' Characteristic: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Describes a given characteristic of an object or entity through a name/value pair. properties: id: type: string description: Unique identifier of the characteristic name: type: string description: Name of the characteristic valueType: type: string description: Data type of the value of the characteristic characteristicRelationship: type: array items: $ref: '#/components/schemas/CharacteristicRelationship' discriminator: propertyName: '@type' mapping: Characteristic: '#/components/schemas/Characteristic' StringCharacteristic: '#/components/schemas/StringCharacteristic' StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic' ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic' ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic' NumberCharacteristic: '#/components/schemas/NumberCharacteristic' NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic' IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic' IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic' BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic' BooleanArrayCharacteristic: '#/components/schemas/BooleanArrayCharacteristic' PartyRoleSpecificationRef_MVO: type: object description: Party role specification reference. A party role specification gives additional details on the part played by a party in a given context. allOf: - $ref: '#/components/schemas/EntityRef' discriminator: propertyName: '@type' mapping: PartyRoleSpecificationRef: '#/components/schemas/PartyRoleSpecificationRef_MVO' HourPeriod_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object properties: endHour: type: string description: The time when the status ends applying startHour: type: string description: The time when the status starts applying discriminator: propertyName: '@type' mapping: HourPeriod: '#/components/schemas/HourPeriod_FVO' ExternalIdentifier: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier' PartyRoleSpecificationRef_FVO: type: object description: Party role specification reference. A party role specification gives additional details on the part played by a party in a given context. allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: PartyRoleSpecificationRef: '#/components/schemas/PartyRoleSpecificationRef_FVO' ProductTerm_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - 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 duration: $ref: '#/components/schemas/Duration' validFor: $ref: '#/components/schemas/TimePeriod' name: type: string description: Name of the productTerm example: 12months commitment discriminator: propertyName: '@type' mapping: ProductTerm: '#/components/schemas/ProductTerm_FVO' RelatedOrderItem: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: It's a Order item that has been executed previously. properties: orderItemAction: $ref: '#/components/schemas/ItemActionType' orderHref: type: string description: Reference of the related entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. role: type: string description: Role played by the Order orderId: type: string description: Unique identifier of a related Order. orderItemId: type: string description: Id of an item of a prduct order discriminator: propertyName: '@type' mapping: RelatedOrderItem: '#/components/schemas/RelatedOrderItem' Addressable: type: object description: Base schema for adressable entities properties: href: type: string description: Hyperlink reference id: type: string description: unique identifier PartyRole: allOf: - $ref: '#/components/schemas/Entity' - type: object description: The part played by a party in a given context. properties: name: type: string description: A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles. It's the name of the PartyRole unique entity. description: type: string description: A description of the PartyRole. role: type: string description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification. engagedParty: $ref: '#/components/schemas/PartyRef' partyRoleSpecification: $ref: '#/components/schemas/PartyRoleSpecificationRef' characteristic: type: array items: $ref: '#/components/schemas/Characteristic' description: Describes the characteristic of a party role. account: type: array items: $ref: '#/components/schemas/AccountRef' agreement: type: array items: $ref: '#/components/schemas/AgreementRef' contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium' paymentMethod: type: array items: $ref: '#/components/schemas/PaymentMethodRef' creditProfile: type: array items: $ref: '#/components/schemas/CreditProfile' relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole' status: type: string description: Used to track the lifecycle status of the party role. statusReason: type: string description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection. validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PartyRole: '#/components/schemas/PartyRole' Supplier: '#/components/schemas/Supplier' Producer: '#/components/schemas/Producer' Consumer: '#/components/schemas/Consumer' BusinessPartner: '#/components/schemas/BusinessPartner' RelatedPlaceRefOrValue_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: Entity reference. The polymorphic attributes @type, @schemaLocation & @referredType are related to the RelatedPlace entity and not the RelatedPlaceRefOrValue class itself properties: role: type: string place: $ref: '#/components/schemas/PlaceRefOrValue_FVO' required: - role - place discriminator: propertyName: '@type' mapping: RelatedPlaceRefOrValue: '#/components/schemas/RelatedPlaceRefOrValue_FVO' AgreementItemRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: It's a Agreement item that has been executed previously. properties: agreementName: type: string description: Name of the related entity. agreementHref: type: string description: Reference of the related entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. agreementId: type: string description: Unique identifier of a related entity. agreementItemId: type: string description: Id of an item of a Agreement required: - agreementId - agreementItemId discriminator: propertyName: '@type' mapping: AgreementItemRef: '#/components/schemas/AgreementItemRef_FVO' PlaceRefOrValue_MVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Place entity and not the PlaceRefOrValue class itself oneOf: - $ref: '#/components/schemas/GeographicLocation_MVO' - $ref: '#/components/schemas/GeographicSite_MVO' - $ref: '#/components/schemas/GeographicAddress_MVO' - $ref: '#/components/schemas/PlaceRef_MVO' discriminator: propertyName: '@type' mapping: GeographicLocation: '#/components/schemas/GeographicLocation_MVO' GeographicSite: '#/components/schemas/GeographicSite_MVO' GeographicAddress: '#/components/schemas/GeographicAddress_MVO' PlaceRef: '#/components/schemas/PlaceRef_MVO' ProductOfferingPriceRef_MVO: allOf: - $ref: '#/components/schemas/EntityRef' - 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: version: type: string description: Version of the product offering price discriminator: propertyName: '@type' mapping: ProductOfferingPriceRef: '#/components/schemas/ProductOfferingPriceRef_MVO' EntityRelationship_MVO: type: object description: A uni-directionmal relationship from this entity to a target entity instance properties: href: type: string name: type: string role: type: string description: The association role for this entity validFor: $ref: '#/components/schemas/TimePeriod' associationSpec: $ref: '#/components/schemas/EntityRef' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships relationshipType: type: string description: Type of relationship such as migration, substitution, dependency, exclusivity id: type: string '@referredType': type: string '@type': type: string GeographicSubAddress: allOf: - $ref: '#/components/schemas/Entity' - type: object description: "Representation of a GeographicSubAddress \nIt is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building." properties: buildingName: type: string description: allows for buildings that have well-known names href: type: string description: Link to the subAddress id: type: string description: Unique Identifier of the subAddress levelNumber: type: string description: used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2 levelType: type: string description: describes level types within a building name: type: string description: Name of the subAddress to identify it with a meaningful identification privateStreetName: type: string description: private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office. privateStreetNumber: type: string description: private streets numbers internal to a private street subUnit: type: array description: Representation of a SubUnit. It is used for describing subunit within a subAddress e.g. BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF. items: $ref: '#/components/schemas/GeographicSubAddressUnit' subAddressType: type: string description: 'Type of subAddress : it can be a subunit or a private street' discriminator: propertyName: '@type' mapping: GeographicSubAddress: '#/components/schemas/GeographicSubAddress' PartyRef_FVO: type: object description: A Party reference allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_FVO' AttachmentRefOrValue: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Attachment entity and not the AttachmentRefOrValue class itself oneOf: - $ref: '#/components/schemas/Attachment' - $ref: '#/components/schemas/AttachmentRef' discriminator: propertyName: '@type' mapping: Attachment: '#/components/schemas/Attachment' AttachmentRef: '#/components/schemas/AttachmentRef' PartyOrPartyRole_MVO: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef_MVO' - $ref: '#/components/schemas/PartyRoleRef_MVO' - $ref: '#/components/schemas/Individual_MVO' - $ref: '#/components/schemas/Organization_MVO' - $ref: '#/components/schemas/PartyRole_MVO' - $ref: '#/components/schemas/Supplier_MVO' - $ref: '#/components/schemas/BusinessPartner_MVO' - $ref: '#/components/schemas/Consumer_MVO' - $ref: '#/components/schemas/Producer_MVO' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef_MVO' PartyRoleRef: '#/components/schemas/PartyRoleRef_MVO' Individual: '#/components/schemas/Individual_MVO' Organization: '#/components/schemas/Organization_MVO' PartyRole: '#/components/schemas/PartyRole_MVO' Supplier: '#/components/schemas/Supplier_MVO' BusinessPartner: '#/components/schemas/BusinessPartner_MVO' Consumer: '#/components/schemas/Consumer_MVO' Producer: '#/components/schemas/Producer_MVO' PriceAlteration: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Is an amount, usually of money, that modifies the price charged for an order item. 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 productOfferingPrice: $ref: '#/components/schemas/ProductOfferingPriceRef' 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: '#/components/schemas/Price' discriminator: propertyName: '@type' mapping: PriceAlteration: '#/components/schemas/PriceAlteration' HourPeriod: allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: endHour: type: string description: The time when the status ends applying startHour: type: string description: The time when the status starts applying discriminator: propertyName: '@type' mapping: HourPeriod: '#/components/schemas/HourPeriod' GeographicAddress_MVO: allOf: - $ref: '#/components/schemas/Place_MVO' - type: object description: 'Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently). Note : Address corresponds to SID UrbanPropertyAddress' properties: city: type: string description: City that the address is in country: type: string description: Country that the address is in locality: type: string description: An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET] postcode: type: string description: descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also know as zipcode) stateOrProvince: type: string description: the State or Province that the address is in streetName: type: string description: Name of the street or other street type streetNr: type: string description: Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses streetNrLast: type: string description: Last number in a range of street numbers allocated to a property streetNrLastSuffix: type: string description: Last street number suffix for a ranged address streetNrSuffix: type: string description: the first street number suffix streetSuffix: type: string description: A modifier denoting a relative direction streetType: type: string description: 'alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf ' countryCode: type: array items: $ref: '#/components/schemas/StandardIdentifier_MVO' description: Country codes are short alphabetic or numeric geographical codes (geocodes) developed to represent countries and dependent areas, for use in data processing and communications. Several different systems have been developed to do this. The term country code frequently refers to ISO 3166-1 alpha-2 or international dialing codes, the E.164 country calling codes. externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier_MVO' geographicLocation: $ref: '#/components/schemas/GeographicLocationRefOrValue_MVO' geographicSubAddress: type: array items: $ref: '#/components/schemas/GeographicSubAddress_MVO' geographicAddressType: type: string description: 'Classification of the address, e.g., residential, industrial ' Skill: type: object description: 'Skills evaluated for an individual with a level and possibly with a limited validity when an obsolescence is defined (Ex: the first-aid certificate first level is limited to one year and an update training is required each year to keep the level).' properties: skillCode: type: string description: Code of the skill skillName: type: string description: Name of the skill, such as Java language evaluatedLevel: type: string description: Level of expertise in a skill evaluated for an individual comment: type: string description: A free text comment linked to the evaluation done validFor: $ref: '#/components/schemas/TimePeriod' GeographicSubAddressUnit_MVO: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Representation of a SubUnit. It is used for describing subunit within a subAddress e.g. BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF. properties: subUnitNumber: type: string description: The discriminator used for the subunit, often just a simple number but may also be a range. subUnitType: type: string description: The type of subunit e.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF, RACK discriminator: propertyName: '@type' mapping: GeographicSubAddressUnit: '#/components/schemas/GeographicSubAddressUnit_MVO' PartyRefOrPartyRoleRef: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef' - $ref: '#/components/schemas/PartyRoleRef' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef' PartyRoleRef: '#/components/schemas/PartyRoleRef' AccountRef_FVO: type: object description: Account reference. A account may be a party account or a financial account. allOf: - $ref: '#/components/schemas/EntityRef_FVO' discriminator: propertyName: '@type' mapping: AccountRef: '#/components/schemas/AccountRef_FVO' RelatedPartyRefOrPartyRoleRef_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string partyOrPartyRole: $ref: '#/components/schemas/PartyRefOrPartyRoleRef_FVO' required: - role discriminator: propertyName: '@type' mapping: RelatedPartyRefOrPartyRoleRef: '#/components/schemas/RelatedPartyRefOrPartyRoleRef_FVO' Addressable_FVO: type: object description: Base schema for adressable entities properties: id: type: string description: unique identifier BusinessPartner: type: object description: 'When business partner is the BusinessPartner ' allOf: - $ref: '#/components/schemas/PartyRole' GeographicSite_MVO: allOf: - $ref: '#/components/schemas/Place_MVO' - type: object properties: code: type: string description: 'A code that may be used for some addressing schemes eg: [ANSI T1.253-1999]' creationDate: type: string format: date-time description: Date and time when the GeographicSite was created description: type: string description: Text describing additional information regarding the site status: type: string description: The condition of the GeographicSite, such as planned, underConstruction, cancelled, active, inactive, former relatedParty: type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole_MVO' externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier_MVO' calendar: type: array items: $ref: '#/components/schemas/CalendarPeriod_MVO' place: type: array items: $ref: '#/components/schemas/PlaceRefOrValue_MVO' siteRelationship: type: array items: $ref: '#/components/schemas/GeographicSiteRelationship_MVO' AttachmentRef_FVO: allOf: - $ref: '#/components/schemas/EntityRef_FVO' - type: object description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures properties: description: type: string description: A narrative text describing the content of the attachment url: description: Link to the attachment media/content type: string discriminator: propertyName: '@type' mapping: AttachmentRef: '#/components/schemas/AttachmentRef_FVO' Supplier: type: object description: 'When business partner is the Supplier ' allOf: - $ref: '#/components/schemas/PartyRole' GeographicSubAddressUnit: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: Representation of a SubUnit. It is used for describing subunit within a subAddress e.g. BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF. properties: subUnitNumber: type: string description: The discriminator used for the subunit, often just a simple number but may also be a range. subUnitType: type: string description: The type of subunit e.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF, RACK discriminator: propertyName: '@type' mapping: GeographicSubAddressUnit: '#/components/schemas/GeographicSubAddressUnit' PartyOrPartyRole: type: object description: '' oneOf: - $ref: '#/components/schemas/PartyRef' - $ref: '#/components/schemas/PartyRoleRef' - $ref: '#/components/schemas/Individual' - $ref: '#/components/schemas/Organization' - $ref: '#/components/schemas/PartyRole' - $ref: '#/components/schemas/Supplier' - $ref: '#/components/schemas/BusinessPartner' - $ref: '#/components/schemas/Consumer' - $ref: '#/components/schemas/Producer' discriminator: propertyName: '@type' mapping: PartyRef: '#/components/schemas/PartyRef' PartyRoleRef: '#/components/schemas/PartyRoleRef' Individual: '#/components/schemas/Individual' Organization: '#/components/schemas/Organization' PartyRole: '#/components/schemas/PartyRole' Supplier: '#/components/schemas/Supplier' BusinessPartner: '#/components/schemas/BusinessPartner' Consumer: '#/components/schemas/Consumer' Producer: '#/components/schemas/Producer' Extensible: type: object description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type properties: '@type': type: string description: When sub-classing, this defines the sub-class Extensible name '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships required: - '@type' EntityRef: allOf: - $ref: '#/components/schemas/Extensible' - $ref: '#/components/schemas/Addressable' - type: object description: Entity reference schema to be use for all entityRef class. properties: id: type: string description: The identifier of the referred entity. href: type: string description: The URI of the referred entity. name: type: string description: Name of the referred entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. required: - id PlaceRefOrValue_FVO: type: object description: The polymorphic attributes @type, @schemaLocation & @referredType are related to the Place entity and not the PlaceRefOrValue class itself oneOf: - $ref: '#/components/schemas/GeographicLocation_FVO' - $ref: '#/components/schemas/GeographicSite_FVO' - $ref: '#/components/schemas/GeographicAddress_FVO' - $ref: '#/components/schemas/PlaceRef_FVO' discriminator: propertyName: '@type' mapping: GeographicLocation: '#/components/schemas/GeographicLocation_FVO' GeographicSite: '#/components/schemas/GeographicSite_FVO' GeographicAddress: '#/components/schemas/GeographicAddress_FVO' PlaceRef: '#/components/schemas/PlaceRef_FVO' ExternalIdentifier_FVO: allOf: - $ref: '#/components/schemas/Extensible_FVO' - type: object description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. properties: owner: type: string description: Name of the external system that owns the entity. example: MagentoCommerce externalIdentifierType: type: string description: Type of the identification, typically would be the type of the entity within the external system example: ProductOrder id: type: string description: identification of the entity within the external system. required: - id discriminator: propertyName: '@type' mapping: ExternalIdentifier: '#/components/schemas/ExternalIdentifier_FVO' AgreementItemRef: allOf: - $ref: '#/components/schemas/Extensible' - type: object description: It's a Agreement item that has been executed previously. properties: agreementName: type: string description: Name of the related entity. agreementHref: type: string description: Reference of the related entity. '@referredType': type: string description: The actual type of the target instance when needed for disambiguation. agreementId: type: string description: Unique identifier of a related entity. agreementItemId: type: string description: Id of an item of a Agreement discriminator: propertyName: '@type' mapping: AgreementItemRef: '#/components/schemas/AgreementItemRef' Consumer: type: object allOf: - $ref: '#/components/schemas/PartyRole' AttachmentRef: allOf: - $ref: '#/components/schemas/EntityRef' - type: object description: Attachment reference. An attachment complements the description of an element (for instance a product) through video, pictures properties: description: type: string description: A narrative text describing the content of the attachment url: description: Link to the attachment media/content type: string discriminator: propertyName: '@type' mapping: AttachmentRef: '#/components/schemas/AttachmentRef' EntityRelationship: type: object description: A uni-directionmal relationship from this entity to a target entity instance properties: href: type: string name: type: string role: type: string description: The association role for this entity validFor: $ref: '#/components/schemas/TimePeriod' associationSpec: $ref: '#/components/schemas/EntityRef' '@baseType': type: string description: When sub-classing, this defines the super-class '@schemaLocation': type: string description: A URI to a JSON-Schema file that defines additional attributes and relationships relationshipType: type: string description: Type of relationship such as migration, substitution, dependency, exclusivity id: type: string '@referredType': type: string '@type': type: string examples: RetrieveProductByList_response: value: - id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: created '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 90 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventoryManagement/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: 45hj-999 href: https://host:port/partyManagement/v5/individual/45hj-999 name: Louise '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: A collection of Product representation CreateProduct_request: value: description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean status: created '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 90 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventory/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: 45hj-999 href: https://host:port/partyManagement/v5/individual/45hj-999 name: Louise '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: POST Product Request Example Product_partialupdate_example_application_json_patch_json_response: value: id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: active '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 120 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventoryManagement/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: '777' href: https://host:port/partyManagement/v5/individual/777 name: Pierre '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: Response message CreateProduct_with_intent_response: value: id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: product description isBundle: false isCustomerVisible: true name: Voice Over IP Basic instance for Jean productSerialNumber: N/A startDate: '2017-11-01T09:37:29.961Z' status: created '@baseType': Product '@type': Product '@schemaLocation': https:://host:port/standardProduct.json productOffering: id: PO-101-1 href: https://host:port/productCatalogManagement/v5/productOffering/PO-101-1 name: Voice Over IP Basic '@type': ProductOfferingRef '@referredType': ProductOffering productCharacteristic: - name: Number '@type': StringCharacteristic valueType: string value: 415 279 7439 relatedParty: - role: User partyOrPartyRole: id: 45hj-8888 href: https://host:port/partyManagement/v5/individual/45hj-8888 name: Jean '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@type': ProductSpecificationRef '@referredType': ProductSpecification version: '1' intent: '@type': Intent id: '42' lifecycleStatus: created description: Intent for ordering live broadcast service for an event validFor: startDateTime: '2022-10-23T00:30:00.00Z' endDateTime: '2022-10-19T23:30:00.00Z' isBundle: true version: 1.0.0 intentSpecification: '@type': IntentSpecificationRef id: EventLiveBroadcast_IntentSpec name: EventLiveBroadcastIntentSpec '@referredType': IntentSpecification '@href': https://host:port/intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec name: EventLiveBroadcast expression: '@type': JsonLdExpression expressionValue: '@context': icm: http://www.models.tmforum.org/tio/v1.0.0/IntentCommonModel# cat: http://www.operator.com/Catalog# idan: http://www.idan-tmforum-catalyst.org/IntentDrivenAutonomousNetworks# xsd: http://www.w3.org/2001/XMLSchema# t: http://www.w3.org/2006/time# elb: http://www.operator.com/Catalog/EventWirelessAccess# app: http://www.operator.com/Catalog/StreamingApplication# geo: https://tmforum.org/2020/07/geographicPoint# idan:EventLiveBroadcast000001: '@type': icm:Intent icm:intentOwner: idan:Salesforce icm:hasExpectation: idan:Delivery_service: '@type': icm:DeliveryExpectation icm:target: _:service icm:params: icm:targetDescription: cat:EventWirelessAccess idan:Delivery_app: '@type': icm:DeliveryExpectation icm:target: _:application icm:params: icm:targetDescription: cat:StreamingApplication idan:Property_service: '@type': icm:PropertyExpectation icm:target: _:service icm:params: elb:serviceQuality: - icm:value: 4KUHD elb:numberOfParticipants: - icm:atMost: '200' elb:areaOfService: - geo:geographicPoints: - geo:longitude: 90 geo:latitude: 44 geo:altitude: 84 - geo:longitude: 84 geo:latitude: -12 geo:altitude: 24 - geo:longitude: 131 geo:latitude: -36 geo:altitude: 29 - geo:longitude: 7 geo:latitude: 81 geo:altitude: -42 idan:Property_app: '@type': icm:PropertyExpectation icm:target: _:application icm:params: app:appType: - icm:value: AWS MediaLive - icm:value: Facebook Live - icm:value: YouTube idan:Reporting: '@type': icm:ReportingExpectation icm:target: idan:EventLiveBroadcast icm:params: icm:reportingInterval: - t:Duration: - t:numbericDuration: 10 t:temporalUnit: unitMinute icm:reportingEvent: - icm:StateComplies - icm:StateDegrades lastUpdate: '2023-03-09T08:42:33.044Z' description: POST Product Response Description. Product_partialupdate_example_application_json_patch_query_json_response: value: id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: active '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 120 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventoryManagement/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: '777' href: https://host:port/partyManagement/v5/individual/777 name: Pierre '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: Response message Product_partialupdate_example_application_merge_patch_json_response: value: id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: active '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 120 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventoryManagement/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: '777' href: https://host:port/partyManagement/v5/individual/777 name: Pierre '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: Response message RetrieveProductByListwithFieldsSelection_response: value: - id: 9ffg-ze56-ed51 href: https://host:port/productInventory/v5/product/9ffg-ze56-ed51 status: suspended orderDate: '2019-04-11T14:52:21.823Z' productOffering: id: sxcv-fg65 href: https://host:port/productCatalogManagement/v5/productOffering/sxcv-fg65 '@type': ProductOfferingRef '@referredType': ProductOffering name: TMF 35 Bundle Plan '@type': Product - id: '7412' href: https://host:port/productInventory/v5/product/7412 status: suspended orderDate: '2019-04-18T14:21:31.325Z' productOffering: id: 9d63-r8i9 href: https://host:port/productCatalogManagement/v5/productOffering/9d63-r8i9 '@type': ProductOfferingRef '@referredType': ProductOffering name: TMF 45 Bundle Plan '@type': Product - id: '3214' href: https://host:port/productInventory/v5/product/3214 status: suspended orderDate: '2019-04-21T18:08:31.325Z' productOffering: id: sxcv-fg65 href: https://host:port/productCatalogManagement/v5/productOffering/sxcv-fg65 '@type': ProductOfferingRef '@referredType': ProductOffering name: TMF 35 Bundle Plan '@type': Product - id: '6547' href: https://host:port/productInventory/v5/product/6547 status: suspended orderDate: '2019-04-29T10:48:28.325Z' productOffering: id: 3bb2-e896 href: https://host:port/productCatalogManagement/v5/productOffering/3bb2-e896 '@type': ProductOfferingRef '@referredType': ProductOffering name: TMF 75 Bundle Plan '@type': Product description: A collection of Product representation with filter selection Product_partialupdate_example_application_json_request: value: '@type': Product status: active description: Here's an example of a request for updating a Product resource - set status to validated. This example illustrates patch using application/json. Product_partialupdate_example_application_json_response: value: id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: active '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 120 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventoryManagement/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: '777' href: https://host:port/partyManagement/v5/individual/777 name: Pierre '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: Response message Product_partialupdate_example_application_merge_patch_json_request: value: '@type': Product status: active description: Here's an example of a request for updating a Product resource - set status to validated. This example illustrates patch using application/merge-patch+json. Product_partialupdate_example_application_json_patch_json_request: value: - op: replace path: /status value: active description: Here's an example of a request for updating a Product resource - set status to validated. This example illustrates patch using application/json-patch+json. RetrieveProduct1_response: value: id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: created '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 90 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventory/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: 45hj-999 href: https://host:port/partyManagement/v5/individual/45hj-999 name: Louise '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: Product representation. CreateProduct_with_intent_request: value: description: product description isBundle: false name: Voice Over IP Basic instance for Jean '@baseType': Product '@type': Product '@schemaLocation': https:://host:port/standardProduct.json productOffering: id: PO-101-1 href: https://host:port/productCatalogManagement/v5/productOffering/PO-101-1 name: Voice Over IP Basic '@type': ProductOfferingRef '@referredType': ProductOffering productCharacteristic: - name: Number '@type': StringCharacteristic valueType: string value: 415 279 7439 relatedParty: - role: User partyOrPartyRole: id: 45hj-8888 href: https://host:port/partyManagement/v5/individual/45hj-8888 name: Jean '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@type': ProductSpecificationRef '@referredType': ProductSpecification version: '1' intent: '@type': Intent id: '42' description: Intent for ordering live broadcast service for an event validFor: startDateTime: '2022-10-23T00:30:00.00Z' endDateTime: '2022-10-19T23:30:00.00Z' isBundle: true version: 1.0.0 intentSpecification: '@type': IntentSpecificationRef id: EventLiveBroadcast_IntentSpec name: EventLiveBroadcastIntentSpec '@referredType': IntentSpecification '@href': https://host:port/intent/v5/IntentSpecification/EventLiveBroadcast_IntentSpec name: EventLiveBroadcast expression: '@type': JsonLdExpression expressionValue: '@context': icm: http://www.models.tmforum.org/tio/v1.0.0/IntentCommonModel# cat: http://www.operator.com/Catalog# idan: http://www.idan-tmforum-catalyst.org/IntentDrivenAutonomousNetworks# xsd: http://www.w3.org/2001/XMLSchema# t: http://www.w3.org/2006/time# elb: http://www.operator.com/Catalog/EventWirelessAccess# app: http://www.operator.com/Catalog/StreamingApplication# geo: https://tmforum.org/2020/07/geographicPoint# idan:EventLiveBroadcast000001: '@type': icm:Intent icm:intentOwner: idan:Salesforce icm:hasExpectation: idan:Delivery_service: '@type': icm:DeliveryExpectation icm:target: _:service icm:params: icm:targetDescription: cat:EventWirelessAccess idan:Delivery_app: '@type': icm:DeliveryExpectation icm:target: _:application icm:params: icm:targetDescription: cat:StreamingApplication idan:Property_service: '@type': icm:PropertyExpectation icm:target: _:service icm:params: elb:serviceQuality: - icm:value: 4KUHD elb:numberOfParticipants: - icm:atMost: '200' elb:areaOfService: - geo:geographicPoints: - geo:longitude: 90 geo:latitude: 44 geo:altitude: 84 - geo:longitude: 84 geo:latitude: -12 geo:altitude: 24 - geo:longitude: 131 geo:latitude: -36 geo:altitude: 29 - geo:longitude: 7 geo:latitude: 81 geo:altitude: -42 idan:Property_app: '@type': icm:PropertyExpectation icm:target: _:application icm:params: app:appType: - icm:value: AWS MediaLive - icm:value: Facebook Live - icm:value: YouTube idan:Reporting: '@type': icm:ReportingExpectation icm:target: idan:EventLiveBroadcast icm:params: icm:reportingInterval: - t:Duration: - t:numbericDuration: 10 t:temporalUnit: unitMinute icm:reportingEvent: - icm:StateComplies - icm:StateDegrades lastUpdate: '2023-03-09T08:42:33.044Z' description: POST Product Request Example CreateProduct_response: value: id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 description: This product is an Product Specification instance isBundle: false isCustomerVisible: false name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: created '@type': Product productCharacteristic: - '@type': BooleanCharacteristic id: Char1 name: FixedIP valueType: boolean value: false - '@type': ObjectCharacteristic id: Char5 name: FiberSpeed valueType: object value: '@type': Speed volume: 90 unit: Mbps place: - role: installationAddress place: id: '9912' href: https://host:port/geographicAddressManagement/v5/geographicAddress/9912 '@referredType': GeographicAddress '@type': PlaceRef '@type': RelatedPlaceRefOrValue realizingService: - id: '7854' href: https://host:port/serviceInventory/v5/service/7854 '@referredType': Service '@type': ServiceRef productSpecification: id: PS-101 href: https://host:port/productCatalogManagement/v5/productSpecification/PS-101 '@referredType': ProductSpecification '@type': ProductSpecificationRef version: '1' relatedParty: - role: User partyOrPartyRole: id: 45hj-999 href: https://host:port/partyManagement/v5/individual/45hj-999 name: Louise '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: POST Product Response Description. RetrieveProduct2_response: value: id: g265-tf86 href: https://host:port/productInventory/v5/product/g265-tf86 description: This product is an Product Offering instance isBundle: false isCustomerVisible: true name: Voice Over IP Basic instance for Jean creationDate: '2021-04-12T23:59:59.52Z' status: created '@type': Product productOffering: id: PO-101-1 href: https://host:port/productCatalogManagement/v5/productOffering/PO-101-1 name: Voice Over IP Basic '@type': ProductOfferingRef '@referredType': ProductOffering productRelationship: - id: g265-tf85 href: https://host:port/productInventory/v5/product/g265-tf85 '@type': ProductRelationship relationshipType: sells productPrice: - '@type': ProductPrice productOfferingPrice: id: POP1 name: Fiber recurring fee href: https://host:port/productCatalogManagement/v5/productOfferingPrice/POP1 '@referredType': ProductOfferingPrice '@type': ProductOfferingPriceRef recurringChargePeriod: month price: '@type': Price taxIncludedAmount: unit: EUR value: 29.99 taxRate: 15 priceType: reccurring productTerm: - '@type': ProductTerm description: Fiber standard commitment duration: amount: 12 units: month validFor: startDateTime: '2021-04-12T23:59:59.52Z' endDateTime: '2022-04-11T00:00:00.52Z' name: 12months commitment relatedParty: - role: owner partyOrPartyRole: id: 45hj-8888 href: https://host:port/partyManagement/v5/individual/45hj-8888 name: Jean '@type': PartyRef '@referredType': Individual '@type': RelatedPartyOrPartyRole description: Product representation. Product_partialupdate_example_application_json_patch_query_json_request: value: - op: replace path: /relatedParty/partyOrPartyRole/id?relatedParty.role=user value: '777' - op: replace path: /productCharacteristic/value?id=Char5 value: '@type': Speed volume: 120 unit: Mbps description: Here's an example of a request for updating a Product resource - change relatedParty and bandwith characteristic. This example illustrates patch using application/json-patch-query+json. parameters: Offset: name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer Limit: name: limit in: query description: Requested number of resources to be provided in response schema: type: integer Id: name: id required: true schema: type: string in: path description: Identifier of the Resource Fields: name: fields in: query description: Comma-separated properties to be provided in response schema: type: string requestBodies: Product_FVO: description: The Product to be created content: application/json: schema: $ref: '#/components/schemas/Product_FVO' examples: CreateProduct: $ref: '#/components/examples/CreateProduct_request' CreateProduct_with_intent: $ref: '#/components/examples/CreateProduct_with_intent_request' required: true Product_MVO: description: The Product to be patched content: application/json: schema: $ref: '#/components/schemas/Product_MVO' examples: Product_partialupdate_example_application_json: $ref: '#/components/examples/Product_partialupdate_example_application_json_request' application/merge-patch+json: schema: $ref: '#/components/schemas/Product_MVO' examples: Product_partialupdate_example_application_merge_patch_json: $ref: '#/components/examples/Product_partialupdate_example_application_merge_patch_json_request' application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Product_partialupdate_example_application_json_patch_json: $ref: '#/components/examples/Product_partialupdate_example_application_json_patch_json_request' application/json-patch-query+json: schema: $ref: '#/components/schemas/JsonPatchOperations' examples: Product_partialupdate_example_application_json_patch_query_json: $ref: '#/components/examples/Product_partialupdate_example_application_json_patch_query_json_request' required: true responses: '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Error' 201Product: description: OK/Created content: application/json: schema: $ref: '#/components/schemas/Product' examples: CreateProduct: $ref: '#/components/examples/CreateProduct_response' CreateProduct_with_intent: $ref: '#/components/examples/CreateProduct_with_intent_response' 200Product_Get: description: Success content: application/json: schema: $ref: '#/components/schemas/Product' examples: RetrieveProduct1: $ref: '#/components/examples/RetrieveProduct1_response' RetrieveProduct2: $ref: '#/components/examples/RetrieveProduct2_response' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' 200Product_Patch: description: Success content: application/json: schema: $ref: '#/components/schemas/Product' examples: Product_partialupdate_example_application_json: $ref: '#/components/examples/Product_partialupdate_example_application_json_response' application/merge-patch+json: schema: $ref: '#/components/schemas/Product' examples: Product_partialupdate_example_application_merge_patch_json: $ref: '#/components/examples/Product_partialupdate_example_application_merge_patch_json_response' application/json-patch+json: schema: oneOf: - $ref: '#/components/schemas/Product' - type: array items: $ref: '#/components/schemas/Product' - type: string nullable: true examples: Product_partialupdate_example_application_json_patch_json: $ref: '#/components/examples/Product_partialupdate_example_application_json_patch_json_response' application/json-patch-query+json: schema: oneOf: - $ref: '#/components/schemas/Product' - type: array items: $ref: '#/components/schemas/Product' - type: string nullable: true examples: Product_partialupdate_example_application_json_patch_query_json: $ref: '#/components/examples/Product_partialupdate_example_application_json_patch_query_json_response' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' 200ProductArray: description: Success headers: X-Total-Count: $ref: '#/components/headers/X-Total-Count' X-Result-Count: $ref: '#/components/headers/X-Result-Count' content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' examples: RetrieveProductByList: $ref: '#/components/examples/RetrieveProductByList_response' RetrieveProductByListwithFieldsSelection: $ref: '#/components/examples/RetrieveProductByListwithFieldsSelection_response' '202': description: Accepted '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/Error' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error' '204': description: Deleted '405': description: Method Not allowed content: application/json: schema: $ref: '#/components/schemas/Error' headers: X-Result-Count: description: Actual number of items returned in the response body schema: type: integer X-Total-Count: description: Total number of items matching criteria schema: type: integer