TM Forum productOrder API

Operations for ProductOrder Resource

Operations 5

GET /productOrder TM Forum List or Find ProductOrder Objects #
POST /productOrder TM Forum Creates a ProductOrder #
GET /productOrder/{id} TM Forum Retrieves a ProductOrder by ID #
DELETE /productOrder/{id} TM Forum Deletes a ProductOrder #
PATCH /productOrder/{id} TM Forum Updates Partially a ProductOrder #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tm-forum-productorder-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tm-forum-productorder-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ProductOrdering Product Order API
  description: "**TMF API Reference : TMF 622 - Product Ordering Management**\n\n** June 2023**\n\nThe Product Ordering API provides a standardized mechanism for placing a product order with all of the necessary order parameters. The API consists of a simple set of operations that interact with CRM/Order Negotiation systems in a consistent manner. A product order is created based on a product offer that is defined in a catalog. The product offer identifies the product or set of products that are available to a customer, and includes characteristics such as pricing, product options and market. This API provide a task based resource to request order cancellation.\n\nThe product order references the product offer and identifies any specific requests made by the customer.\n\n**Product Order resource**\nA Product Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa. Main Product Order attributes are its identifier, state, priority category (mass market, Enterprise, etc.) related dates (start, completion, etc.), related billing account, related parties and order items. Main Order Items (aka order lines) attributes are the ordered offering and product characteristics with the related action to be performed (e.g. add or delete the products), state, location information for delivery, order item price and price alteration.\n\nProduct Order API performs the following operations on product order :\n\n   * Retrieval of a product order or a collection of product orders depending on filter criteria\n   * Partial update of a product order (including updating rules)\n   * Creation of a product order (including default values and creation rules) - The productOrder could be created \n   in draft (the product order requester is not yet ready to submit it and draft order could be freely updated) or requester could\n   ask to an acknowledged state which means that requester submitted the order.\n   * Deletion of product order (for administration purposes)\n   * Notification of events on product order.\n\n**cancelProductOrder resource**\nThis resource is used to request a product order cancellation.\nProduct Order API performs the following operations on CancelProductOrder resource :\n\n   * Retrieval of a cancel product order or a collection of cancel product orders \n   * Creation of a cancel product order \n   * Notification of events on cancel product order.\n\nCopyright © TM Forum 2021. All Rights Reserved\n"
  version: 5.0.0
servers:
- url: https://serverRoot
tags:
- name: productOrder
  description: Operations for ProductOrder Resource
paths:
  /productOrder:
    get:
      tags:
      - productOrder
      summary: TM Forum List or Find ProductOrder Objects
      description: List or find ProductOrder objects
      operationId: listProductOrder
      parameters:
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Offset'
      - $ref: '#/components/parameters/Limit'
      responses:
        '200':
          $ref: '#/components/responses/200ProductOrderArray'
        '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:
      - productOrder
      summary: TM Forum Creates a ProductOrder
      description: This operation creates a ProductOrder entity.
      operationId: createProductOrder
      parameters:
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/ProductOrder_FVO'
      responses:
        '201':
          $ref: '#/components/responses/201ProductOrder'
        '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'
  /productOrder/{id}:
    get:
      tags:
      - productOrder
      summary: TM Forum Retrieves a ProductOrder by ID
      description: This operation retrieves a ProductOrder entity. Attribute selection enabled for all first level attributes.
      operationId: retrieveProductOrder
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      responses:
        '200':
          $ref: '#/components/responses/200ProductOrder_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:
      - productOrder
      summary: TM Forum Deletes a ProductOrder
      description: This operation deletes a ProductOrder entity.
      operationId: deleteProductOrder
      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:
      - productOrder
      summary: TM Forum Updates Partially a ProductOrder
      description: This operation updates partially a ProductOrder entity.
      operationId: patchProductOrder
      parameters:
      - $ref: '#/components/parameters/Id'
      - $ref: '#/components/parameters/Fields'
      requestBody:
        $ref: '#/components/requestBodies/ProductOrder_MVO'
      responses:
        '200':
          $ref: '#/components/responses/200ProductOrder_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:
    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'
    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'
    OrderItemRelationship_FVO:
      allOf:
      - $ref: '#/components/schemas/Extensible_FVO'
      - type: object
        description: Used to describe relationship between Order item. These relationship could have an impact on pricing and conditions
        properties:
          id:
            type: string
            description: Id of the related Order item (must be in the same Order)
          relationshipType:
            type: string
            description: Relationship type as relies on, bundles, etc...
        required:
        - id
        - relationshipType
      discriminator:
        propertyName: '@type'
        mapping:
          OrderItemRelationship: '#/components/schemas/OrderItemRelationship_FVO'
    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'
    OrderPrice_MVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: An amount, usually of money, that represents the actual price paid by the Customer for this item or this order
        properties:
          description:
            type: string
            description: A narrative that explains in detail the semantics of this order item price.
          name:
            type: string
            description: A short descriptive name such as "Subscription price".
          productOfferingPrice:
            $ref: '#/components/schemas/ProductOfferingPriceRef_MVO'
          recurringChargePeriod:
            type: string
            description: Could be month, week...
          unitOfMeasure:
            type: string
            description: Could be minutes, GB...
          billingAccount:
            $ref: '#/components/schemas/BillingAccountRef_MVO'
          priceAlteration:
            type: array
            description: a strucuture used to describe a price alteration
            items:
              $ref: '#/components/schemas/PriceAlteration_MVO'
          price:
            $ref: '#/components/schemas/Price_MVO'
          priceType:
            type: string
            description: indicate if the price is for recurrent or no-recurrent charge
      discriminator:
        propertyName: '@type'
        mapping:
          OrderPrice: '#/components/schemas/OrderPrice_MVO'
    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'
    ProductOrderStateType:
      enum:
      - acknowledged
      - rejected
      - pending
      - held
      - inProgress
      - cancelled
      - completed
      - failed
      - partial
      - assessingCancellation
      - pendingCancellation
      - draft
      - inProgress.accepted
      type: string
      description: Possible values for the state of the order
    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'
    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'
    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'
    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'
    OrganizationRef_MVO:
      type: object
      allOf:
      - $ref: '#/components/schemas/EntityRef'
      discriminator:
        propertyName: '@type'
        mapping:
          OrganizationRef: '#/components/schemas/OrganizationRef_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
    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'
          FloatCharacteristic: '#/components/schemas/FloatCharacteristic'
          FloatArrayCharacteristic: '#/components/schemas/FloatArrayCharacteristic'
    ChannelRef_FVO:
      type: object
      description: The channel to which the resource reference to. e.g. channel for selling product offerings, channel for opening a trouble ticket etc..
      allOf:
      - $ref: '#/components/schemas/EntityRef_FVO'
      discriminator:
        propertyName: '@type'
        mapping:
          ChannelRef: '#/components/schemas/ChannelRef_FVO'
    Note_MVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Extra information about a given entity
        properties:
          id:
            type: string
            description: Identifier of the note within its containing entity
            example: afa9-3d90aaa8da0f
          author:
            type: string
            description: Author of the note
            example: Mr. N. Bene
          date:
            type: string
            format: date-time
            description: Date of the note
            example: '2020-11-20T08:00:00Z'
          text:
            type: string
            description: Text of the note
            example: This is important
      discriminator:
        propertyName: '@type'
        mapping:
          Note: '#/components/schemas/Note_MVO'
    RelatedChannel:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Related channel to another entity. May be online web, mobile app, social ,etc.
        properties:
          role:
            type: string
          channel:
            $ref: '#/components/schemas/ChannelRef'
      discriminator:
        propertyName: '@type'
        mapping:
          RelatedChannel: '#/components/schemas/RelatedChannel'
    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'
    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'
          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_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'
    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'
    Note_FVO:
      allOf:
      - $ref: '#/components/schemas/Extensible_FVO'
      - type: object
        description: Extra information about a given entity
        properties:
          id:
            type: string
            description: Identifier of the note within its containing entity
            example: afa9-3d90aaa8da0f
          author:
            type: string
            description: Author of the note
            example: Mr. N. Bene
          date:
            type: string
            format: date-time
            description: Date of the note
            example: '2020-11-20T08:00:00Z'
          text:
            type: string
            description: Text of the note
            example: This is impo

# --- truncated at 32 KB (384 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-productorder-api-openapi.yml