TM Forum productOrder API

Operations for ProductOrder Resource

OpenAPI Specification

tm-forum-productorder-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Product Catalog Management agreement productOrder 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: 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:
    GeographicLocationRef_FVO:
      type: object
      allOf:
      - $ref: '#/components/schemas/EntityRef_FVO'
      discriminator:
        propertyName: '@type'
        mapping:
          GeographicLocationRef: '#/components/schemas/GeographicLocationRef_FVO'
    RelatedChannel_MVO:
      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_MVO'
      discriminator:
        propertyName: '@type'
        mapping:
          RelatedChannel: '#/components/schemas/RelatedChannel_MVO'
    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
    Milestone_MVO:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: Milestone represents an action or event marking a significant change or stage in a process like an order process.
        properties:
          description:
            type: string
            description: free-text description of the Milestone
          id:
            type: string
            description: identifier of the Milestone
          status:
            description: The milestone status
            type: string
            enum:
            - Yet-To-Reach
            - Completed
            - Violated
          milestoneDate:
            type: string
            format: date-time
            description: A date time( DateTime). The date that the milestone happens
          name:
            type: string
            description: A string used to give a name to the milestone
          message:
            type: string
            description: A string represents the message of the milestone
      discriminator:
        propertyName: '@type'
        mapping:
          Milestone: '#/components/schemas/Milestone_MVO'
          ProductOrderMilestone: '#/components/schemas/ProductOrderMilestone_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'
    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 important
      discriminator:
        propertyName: '@type'
        mapping:
          Note: '#/components/schemas/Note_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'
    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'
    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'
    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'
    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'
    Producer_FVO:
      type: object
      allOf:
      - $ref: '#/components/schemas/PartyRole_FVO'
    OrganizationRef_FVO:
      type: object
      allOf:
      - $ref: '#/components/schemas/EntityRef_FVO'
      discriminator:
        propertyName: '@type'
        mapping:
          OrganizationRef: '#/components/schemas/OrganizationRef_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'
    ProductOfferingQualificationItemRef:
      allOf:
      - $ref: '#/components/schemas/Extensible'
      - type: object
        description: It's a productOfferingQualification item that has been executed previously.
        properties:
          productOfferingQualificationName:
            type: string
            description: Name of the related entity.
          productOfferingQualificationHref:
            type: string
            description: Reference of the related entity.
          '@referredType':
            type: string
            description: The actual type of the target instance when needed for disambiguation.
          productOfferingQualificationId:
            type: string
            description: Unique identifier of a related entity.
          itemId:
            type: string
            description: Id of an item of a product offering qualification
      discriminator:
        propertyName: '@type'
        mapping:
          ProductOfferingQualificationItemRef: '#/components/schemas/ProductOfferingQualificationItemRef'
    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'
    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
    Consumer_FVO:
      type: object
      allOf:
      - $ref: '#/components/schemas/PartyRole_FVO'
    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'
    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_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'
    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'
    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
    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'
    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 

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