openapi: 3.0.0
info:
  title: Reference Data Update Consumer
  version: '1'
  description: Propagating Reference Data Storage updates into subscribed Storages.
  x-cdq-internal-api: true
  contact:
    name: Michał Malinka
    url: https://www.cdq.ch/team
    email: michal.malinka@cdq.com
  x-swaggerhub-version: 2.0-oas3
  x-swaggerhub-api: referencedata-update-consumer-api
servers:
  - url: https://api.corporate-data-league.ch/referencedata-update-consumer/soap/v1
    description: Production SOAP
  - description: Production
    url: https://api.corporate-data-league.ch/referencedata-update-consumer
security:
  - basicAuth: []
tags:
  - name: ReferenceData updates
    description: Updates of BusinessPartners from ReferenceData.
paths:
  /updates/referencedata/referenceDataUpdateEvent:
    post:
      tags:
        - ReferenceData updates
      x-wsdl: false
      x-public: false
      summary: Updates Listening Process
      description: >
        Start updates listening process for a BusinessPartner by provide a
        ReferenceDataUpdateEvent.

        WARN: Do not use in production real object updates - this is not
        creating the fully correct event.
      parameters:
        - $ref: '#/components/parameters/usernameHeaderParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReferenceDataUpdateEvent'
        required: true
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
  parameters:
    usernameHeaderParam:
      name: X-Credential-Username
      description: >
        Username that is passed as header parameter with the name
        X-Credential-Username.

        The header can take form of:
          * username (e.g. "lukaszmichta")
          * user id (e.g. "87b1bdb1-ba87-4522-b363-c5a0e6e917b3")
      in: header
      required: true
      schema:
        type: string
        example: 87b1bdb1-ba87-4522-b363-c5a0e6e917b3
  responses:
    BadRequest:
      description: Bad Request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
        application/xml:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    ReferenceDataUpdateEvent:
      type: object
      description: Updates or changes to Reference Data.
      required:
        - cdqId
        - referenceDataSource
        - businessPartner
        - businessPartnerEvent
      properties:
        type:
          $ref: '#/components/schemas/ReferenceDataUpdateEventTypeParam'
          x-apimatic-facade: '#/components/schemas/ReferenceDataUpdateEventTypeParam'
        storageOwnerOrganizationId:
          type: string
          description: >-
            ID of organization that is assigned to storage where this update
            event originates.
          example: cdq
        cdqId:
          type: string
          description: >-
            ID uniquely identifying a pair of reference business partner and
            address when type is REFERENCE_DATA_SOURCE.
          example: CH.UIDR:CHE218608886
        referenceDataSource:
          type: string
          description: >-
            Technical key of reference data source when type is
            REFERENCE_DATA_SOURCE. StorageId:dataSourceId when type is
            STORAGE_DATA_SOURCE.
          example: CH_UIDR
        referenceDataSourceId:
          type: string
          description: ID of data source when type is STORAGE_DATA_SOURCE.
          example: 648824a691d8d2503d65103e
        businessPartner:
          $ref: '#/components/schemas/BusinessPartner'
        businessPartnerEvent:
          $ref: '#/components/schemas/BusinessPartnerEvent'
    ReferenceDataUpdateEventType:
      type: string
      description: Type of the Reference Data Update Event.
      example: REFERENCE_DATA_SOURCE
    ReferenceDataUpdateEventTypeParam:
      type: string
      description: Type of the Reference Data Update Event.
      example: REFERENCE_DATA_SOURCE
      default: REFERENCE_DATA_SOURCE
      enum:
        - REFERENCE_DATA_SOURCE
        - STORAGE_DATA_SOURCE
      x-enumDescruptions:
        REFERENCE_DATA_SOURCE: Reference data source update event.
        STORAGE_DATA_SOURCE: Storage data source update event.
    BusinessPartnerEvent:
      type: object
      description: Updates or changes to Business Partner.
      properties:
        affectedProperties:
          type: array
          description: List of affected properties.
          items:
            type: string
            description: Property affected by the change.
            example: NAME_VALUE
        propertyChanges:
          type: array
          description: List of PropertyChanges.
          items:
            $ref: '#/components/schemas/PropertyChange'
        provenances:
          type: array
          description: List of Provenances.
          items:
            $ref: '#/components/schemas/Provenance'
        updatedBusinessPartner:
          $ref: '#/components/schemas/UpdatedBusinessPartner'
    PropertyChange:
      type: object
      description: >-
        Describes how a property has been changed and how confident we are that
        the change was a good improvement.
      properties:
        externalIds:
          type: array
          description: List of External IDs of the Business Partner that was changed.
          items:
            $ref: '#/components/schemas/ExternalId'
        property:
          $ref: '#/components/schemas/Property'
        newContent:
          $ref: '#/components/schemas/PropertyNewContent'
        previousContent:
          $ref: '#/components/schemas/PropertyPreviousContent'
        provenance:
          $ref: '#/components/schemas/Provenance'
        changeType:
          $ref: '#/components/schemas/PropertyChangeTypeTechnicalKey'
        changeClassification:
          $ref: '#/components/schemas/PropertyChangeClassification'
        confidenceScore:
          $ref: '#/components/schemas/PropertyChangeConfidenceScore'
        maxConfidenceScore:
          $ref: '#/components/schemas/PropertyChangeMaxConfidenceScore'
    ExternalId:
      type: object
      description: >-
        Arbitrary identifier type to mark customer IDs which are "external" from
        CDQ's perspective. This is the identifier a customer provides to
        identify her records, e.g. the ID she manages in her SAP systems.
      properties:
        externalId:
          $ref: '#/components/schemas/ExternalIdValue'
        dataSourceId:
          $ref: '#/components/schemas/ProvenanceTechnicalKey'
        id:
          type: string
          description: Unique identifier of the external ID.
          example: '123'
        concept:
          $ref: '#/components/schemas/Concept'
        language:
          $ref: '#/components/schemas/Language'
        characterSet:
          $ref: '#/components/schemas/CharacterSet'
    Concept:
      type: object
      description: >-
        The Concept is a part of the CDQ data model. For example Address is a
        concept of the Business Partner and have many subconcepts as Locality,
        Thoroughfare, Administrative Area etc.
      properties:
        name:
          $ref: '#/components/schemas/ConceptName'
        technicalKey:
          $ref: '#/components/schemas/ConceptTechnicalKey'
    CharacterSet:
      type: object
      description: Character set.
      properties:
        name:
          $ref: '#/components/schemas/CharacterSetName'
        technicalKey:
          $ref: '#/components/schemas/CharacterSetTechnicalKey'
    Property:
      type: object
      description: Part of a concept. It describes a single attribute of a concept.
      properties:
        parentConcept:
          $ref: '#/components/schemas/Concept'
        name:
          $ref: '#/components/schemas/PropertyName'
        technicalKey:
          $ref: '#/components/schemas/PropertyTechnicalKey'
        contentSelector:
          $ref: '#/components/schemas/PropertyContentSelector'
    Provenance:
      type: object
      description: >-
        The source of the change/update. Could be the reference data source as
        VIES or Organization.
      properties:
        name:
          $ref: '#/components/schemas/ProvenanceName'
        url:
          $ref: '#/components/schemas/ProvenanceUrl'
        technicalKey:
          $ref: '#/components/schemas/ProvenanceTechnicalKey'
        cdqId:
          $ref: '#/components/schemas/ProvenanceCdqId'
    ApiError:
      type: object
      description: Detailed information about API errors.
      required:
        - timestamp
        - code
        - message
      properties:
        timestamp:
          $ref: '#/components/schemas/ApiErrorTimestamp'
        code:
          type: integer
          deprecated: true
          description: Use 'status' instead.
          example: '400'
          minimum: 100
          maximum: 600
        error:
          $ref: '#/components/schemas/HttpError'
        message:
          $ref: '#/components/schemas/ApiErrorMessage'
        path:
          $ref: '#/components/schemas/HttpPath'
    NameShortName:
      type: string
      description: The abbreviated variant of a company's full name.
      example: CDQ AG
    NameTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Name
        Type](https://meta.cdq.com/Business_partner/name/type).
      example: https://meta.cdq.com/Business_partner/name/type
    NameTypeName:
      type: string
      description: Display label for the Name Type.
      example: Local Name
    NameTypeTechnicalKey:
      type: string
      description: Technical Keys of the Name Type.
      example: LOCAL
    NameType:
      type: object
      description: >-
        The type of the name, e.g. a locally used name or an international
        version.
      properties:
        url:
          $ref: '#/components/schemas/NameTypeUrl'
        name:
          $ref: '#/components/schemas/NameTypeName'
        technicalKey:
          $ref: '#/components/schemas/NameTypeTechnicalKey'
    NameValue:
      type: string
      description: The actual name.
      example: Corporate Data Quality AG
    LanguageName:
      type: string
      description: ISO 639-1 name of language.
      example: German
    LanguageTechnicalKey:
      type: string
      description: ISO 639-1 two-letter code of languages.
      example: DE
    Language:
      type: object
      description: Naming of a language according to ISO 639-1.
      properties:
        name:
          $ref: '#/components/schemas/LanguageName'
        technicalKey:
          $ref: '#/components/schemas/LanguageTechnicalKey'
    Name:
      type: object
      description: The name of a business partner.
      properties:
        shortName:
          $ref: '#/components/schemas/NameShortName'
        type:
          $ref: '#/components/schemas/NameType'
        value:
          $ref: '#/components/schemas/NameValue'
        language:
          $ref: '#/components/schemas/Language'
    LegalFormName:
      type: string
      description: Display of the Legal Form.
      example: Aktiengesellschaft
    LegalFormMainAbbreviation:
      type: string
      description: >-
        The primary abbreviation of a legal form, i.e. the most commonly used
        abbreviation in a country.
      example: AG
    LegalFormCdlElfCode:
      deprecated: true
      type: string
      description: An unique identifier for CDL managed Legal Forms.
      example: AG
    LegalFormCategoryName:
      type: string
      maxLength: 40
      description: Descriptive display name of the Legal Form Category.
      example: Limited Liability Company
    LegalFormCategoryShortName:
      type: string
      maxLength: 15
      description: Short display name of the Legal Form Category.
      example: LLC
    LegalFormCategoryUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Legal Form
        Category](https://meta.cdq.com/Business_partner/legal_form/category).
      example: >-
        https://meta.cdq.com/Business_partner/legal_form/category/technical_key/LF001
    LegalFormCategoryTechnicalKey:
      type: string
      description: >-
        Technical Key of the [Legal Form
        Category](https://meta.cdq.com/Business_partner/legal_form/category).
      example: LIMITED
    LegalFormCategory:
      type: object
      description: The categorization of a Legal Form.
      properties:
        name:
          $ref: '#/components/schemas/LegalFormCategoryName'
        shortName:
          $ref: '#/components/schemas/LegalFormCategoryShortName'
        url:
          $ref: '#/components/schemas/LegalFormCategoryUrl'
        technicalKey:
          $ref: '#/components/schemas/LegalFormCategoryTechnicalKey'
    LegalFormUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of [Legal
        Form](https://meta.cdq.com/Business_partner/legal_form).
      example: https://meta.cdq.com/Business_partner/legal_form
    LegalFormTechnicalKey:
      type: string
      description: >-
        Technical Key of a Legal Form. Descriptions of below enums contain
        `Country Scope`, `International Name` and `Main Abraviation`.
      example: DE_9866
    LegalForm:
      type: object
      description: >-
        The legal form of a [business partner/type/legal
        entity](https://meta.cdq.com/Business_partner/type/legal_entity) is the
        form it takes in the eyes of the law governing it. The legal form of a
        [company](https://meta.cdq.com/Business_partner) is the general type it
        may legally use to identify itself according to the local, regional,
        national, or international law governing it. This is normally reflected
        in the ending abbreviation after the
        [company](https://meta.cdq.com/Business_partner)'s name (e.g. AG, Inc.,
        LLC, S.A.).
      properties:
        name:
          $ref: '#/components/schemas/LegalFormName'
        language:
          $ref: '#/components/schemas/Language'
        mainAbbreviation:
          $ref: '#/components/schemas/LegalFormMainAbbreviation'
        cdlElfCode:
          $ref: '#/components/schemas/LegalFormCdlElfCode'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/LegalFormCategory'
        url:
          $ref: '#/components/schemas/LegalFormUrl'
        technicalKey:
          $ref: '#/components/schemas/LegalFormTechnicalKey'
    IdentifierValue:
      type: string
      description: Value of the identifier.
      example: CHE-218.608.886 HR/MWST
    IdentifierTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of an
        [Identifier](https://meta.cdq.com/Business_partner/identifier/type).
      example: https://meta.cdq.com/Business_partner/identifier/type
    IdentifierTypeName:
      type: string
      description: Display label for the Identifier.
      example: CH_VAT_ID
    IdentifierTypeTechnicalKey:
      type: string
      description: Technical key of the type of the Identifier.
      example: CH_VAT_ID
    IdentifierType:
      type: object
      description: Type of the identifier.
      properties:
        url:
          $ref: '#/components/schemas/IdentifierTypeUrl'
        name:
          $ref: '#/components/schemas/IdentifierTypeName'
        technicalKey:
          $ref: '#/components/schemas/IdentifierTypeTechnicalKey'
    IdentifierStatusName:
      type: string
      description: Display label for the Identifier Status Name.
      example: ACTIVE
    IdentifierStatusTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Identifier
        Status](https://meta.cdq.com/Business_partner/identifier/status).
      example: https://meta.cdq.com/Business_partner/identifier/status
    IdentifierStatusTechnicalKey:
      type: string
      description: Technical key of the Identifier Status.
      example: ACTIVE
    IdentifierStatus:
      type: object
      description: >-
        Identifier Status refers to the current state of a unique identification
        number.
      properties:
        name:
          $ref: '#/components/schemas/IdentifierStatusName'
        url:
          $ref: '#/components/schemas/IdentifierStatusTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/IdentifierStatusTechnicalKey'
    IssuingBodyName:
      type: string
      description: Preferred display label for an Issuing Body.
      example: Amtsgericht Aachen
    IssuingBodyShortName:
      type: string
      description: Preferred short display label for an Issuing Body.
      maxLength: 50
      example: Amtsgericht Aachen
    IssuingBodyDescription:
      type: string
      description: Description for an Issuing Body.
      example: Amtsgericht Aachen
    IssuingBodyUrl:
      description: >-
        URL to the documentation which summarizes all details of a [Issuing
        Body](https://meta.cdq.com/Business_partner/identifier/issuing_body).
      example: https://meta.cdq.com/Business_partner/identifier/issuing_body
      type: string
    IssuingBodyTechnicalKey:
      description: Technical key of the Issuing Body.
      example: Amtsgericht Aachen
      type: string
    CountryShortName:
      type: string
      description: Country code (ISO 3166-1 alpha-2).
      example: CH
    CountryValue:
      type: string
      description: Country name (ISO 3166-1 alpha-2).
      example: Switzerland
    Country:
      type: object
      description: >-
        Country consisting of the country name and country code (ISO 3166-1
        alpha-2).
      properties:
        shortName:
          $ref: '#/components/schemas/CountryShortName'
        value:
          $ref: '#/components/schemas/CountryValue'
    AdministrativeAreaValue:
      type: string
      description: >-
        Name of the [Administrative
        Area](https://meta.cdq.com/Address/administrative_area).
      example: Sankt Gallen
    AdministrativeAreaShortName:
      type: string
      description: >-
        Abbreviation for the [Administrative
        Area](https://meta.cdq.com/Address/administrative_area).
      example: SG
    AdministrativeAreaFipsCode:
      type: string
      description: >-
        FIPS codes are numbers which uniquely identify geographic areas. The
        number of digits in FIPS codes vary depending on the level of geography.
        State-level FIPS codes have two digits, county-level FIPS codes have
        five digits of which the first two are the FIPS code of the state to
        which the county belongs.
      example: SZ15
    AdministrativeAreaIsoCode:
      type: string
      description: >-
        ISO 3166-2 code which uniquely defines the names of countries and their
        subdivisions (e.g., provinces or states).
      example: CH-SG
    AdministrativeAreaTypeName:
      type: string
      description: Display label for the Administrative Area Type.
      example: COUNTY
    AdministrativeAreaTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Administrative
        Area](https://meta.cdq.com/Address/administrative_area/type).
      example: https://meta.cdq.com/Address/administrative_area/type
    AdministrativeAreaTypeTechnicalKey:
      type: string
      description: Technical key of the Administrative Area.
      example: COUNTY
    AdministrativeAreaType:
      type: object
      description: >-
        Type of the [Administrative
        Area](https://meta.cdq.com/Address/administrative_area).
      properties:
        name:
          $ref: '#/components/schemas/AdministrativeAreaTypeName'
        url:
          $ref: '#/components/schemas/AdministrativeAreaTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/AdministrativeAreaTypeTechnicalKey'
    AdministrativeArea:
      type: object
      description: A top-level geographical or political area division in a country.
      properties:
        value:
          $ref: '#/components/schemas/AdministrativeAreaValue'
        shortName:
          $ref: '#/components/schemas/AdministrativeAreaShortName'
        fipsCode:
          $ref: '#/components/schemas/AdministrativeAreaFipsCode'
        isoCode:
          $ref: '#/components/schemas/AdministrativeAreaIsoCode'
        type:
          $ref: '#/components/schemas/AdministrativeAreaType'
        language:
          $ref: '#/components/schemas/Language'
    Jurisdiction:
      type: object
      description: >-
        The authority of an official organization to make decisions and
        judgments in a particular administrative area.
      required:
        - country
      properties:
        country:
          $ref: '#/components/schemas/Country'
        administrativeAreas:
          type: array
          items:
            $ref: '#/components/schemas/AdministrativeArea'
    IssuingBodyGleifCode:
      type: string
      description: Code of Global Legal Entity Identifier Foundation (GLEIF)
      example: RA000004
    IssuingBodyLocalAuthorityCode:
      type: string
      description: Code of the local registration authority
      example: R3101
    IssuingBodyExternalUrl:
      type: string
      description: External url of the issuing body
      example: https://www.amtsgericht.de/muenchen
    IssuingBody:
      type: object
      description: >-
        An Issuing Body is an organization or government institution that is
        responsible for assigning unique identifiers to individuals,
        organizations, or objects.
      properties:
        name:
          $ref: '#/components/schemas/IssuingBodyName'
        shortName:
          $ref: '#/components/schemas/IssuingBodyShortName'
        names:
          type: array
          items:
            $ref: '#/components/schemas/Name'
        description:
          $ref: '#/components/schemas/IssuingBodyDescription'
        url:
          $ref: '#/components/schemas/IssuingBodyUrl'
        technicalKey:
          $ref: '#/components/schemas/IssuingBodyTechnicalKey'
        jurisdiction:
          $ref: '#/components/schemas/Jurisdiction'
        gleifCode:
          $ref: '#/components/schemas/IssuingBodyGleifCode'
        localAuthorityCode:
          $ref: '#/components/schemas/IssuingBodyLocalAuthorityCode'
        externalUrl:
          $ref: '#/components/schemas/IssuingBodyExternalUrl'
    Identifier:
      type: object
      description: >-
        Identifies a [Business Partner](https://meta.cdq.com/Business_partner)
        in a given context uniquely such as a VAT identification number.
      properties:
        value:
          $ref: '#/components/schemas/IdentifierValue'
        type:
          $ref: '#/components/schemas/IdentifierType'
        status:
          $ref: '#/components/schemas/IdentifierStatus'
        issuingBody:
          $ref: '#/components/schemas/IssuingBody'
    BusinessPartnerCategoryName:
      type: string
      description: Display name of the Business Partner Category Name.
      example: Hotel
    BusinessPartnerCategoryUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Business
        Partner Category](https://meta.cdq.com/Business_partner/category).
      example: https://meta.cdq.com/Business_partner/category
    BusinessPartnerCategoryTechnicalKey:
      type: string
      description: Technical Key of the Business Partner Category.
      example: HOTEL
    BusinessPartnerCategory:
      type: object
      description: >-
        A business partner category of a business partner groups similar
        business partners.
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerCategoryName'
        url:
          $ref: '#/components/schemas/BusinessPartnerCategoryUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerCategoryTechnicalKey'
    BusinessPartnerStatusOfficialDenotation:
      type: string
      description: The status as provided by an official register.
      example: Good Standing
    BusinessPartnerStatusValidFrom:
      type: string
      description: >-
        Describes since when a business partner turned or will turn into the
        provided status. If no official date is known, the date of changing the
        status in the CDQ Community Data Pool or an external data source is
        provided.
      example: '2022-02-26'
    BusinessPartnerStatusValidUntil:
      type: string
      description: >-
        Describes until when a business partner had a certain status. If no
        official date is known, the date of changing the status in the CDQ
        Community Data Pool or an external data source is provided.
      example: '2022-02-26'
    BusinessPartnerStatusTypeName:
      type: string
      description: Display name of the Business Partner Status.
      example: In Liquidation
    BusinessPartnerStatusTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Business
        Partner Status](https://meta.cdq.com/Business_partner/status/type).
      example: https://meta.cdq.com/Business_partner/status/type
    BusinessPartnerStatusTypeTechnicalKey:
      type: string
      description: Technical Key of the Business Parter Status.
      example: IN_LIQUIDATION
    BusinessPartnerStatusType:
      type: object
      description: The standardized status which the business partner currently has.
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerStatusTypeName'
        url:
          $ref: '#/components/schemas/BusinessPartnerStatusTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerStatusTypeTechnicalKey'
    BusinessPartnerStatus:
      type: object
      description: >-
        Describes the status of a business partner with respect to its level of
        activity (e.g. out of business) or legally relevant conditions (e.g. in
        liquidation).
      properties:
        officialDenotation:
          $ref: '#/components/schemas/BusinessPartnerStatusOfficialDenotation'
        validFrom:
          $ref: '#/components/schemas/BusinessPartnerStatusValidFrom'
        validUntil:
          $ref: '#/components/schemas/BusinessPartnerStatusValidUntil'
        type:
          $ref: '#/components/schemas/BusinessPartnerStatusType'
    CharacterSetName:
      type: string
      description: >-
        Name of character set. Supported character sets can be found
        [here](https://meta.cdq.com/Address/version/character_set).
      example: International
    CharacterSetTechnicalKey:
      type: string
      description: >-
        Technical key of character set. Supported character sets can be found
        [here](https://meta.cdq.com/Address/version/character_set).
      example: INTERNATIONAL
    schemas-CharacterSet:
      type: object
      description: Character set.
      properties:
        name:
          $ref: '#/components/schemas/CharacterSetName'
        technicalKey:
          $ref: '#/components/schemas/CharacterSetTechnicalKey'
    AddressVersion:
      type: object
      description: >-
        CDQ supports multiple versions of addresses comprising different
        charsets and languages. An address version is a unique combination of a
        character set and a language.
      properties:
        characterSet:
          $ref: '#/components/schemas/schemas-CharacterSet'
        language:
          $ref: '#/components/schemas/Language'
    AddressIdentifyingNameValue:
      type: string
      description: >-
        An identifying name assigned to an address. In most cases the
        identifying name refers to the name of a registered agent.
      example: John Doe
    AddressIdentifyingName:
      type: object
      description: >-
        An identifying name assigned to an address. In most cases the
        identifying name refers to the name of a registered agent.
      properties:
        value:
          $ref: '#/components/schemas/AddressIdentifyingNameValue'
    AddressExternalId:
      type: string
      description: >-
        ID the address has in the external system where the record originates
        from.
      example: '1'
    ProvenanceName:
      type: string
      description: Display Name of the Provenance Name.
      example: VIES
    ProvenanceUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the Provenance
        Name.
      example: >-
        https://meta.cdq.com/index.php?title=Property:Has_prefix&limit=500&offset=0&from=&until=&filter=
    ProvenanceTechnicalKey:
      type: string
      description: Technical Key of the Provenance Name.
      example: VIES
    ProvenanceCdqId:
      type: string
      description: The ID provided for a linkage with the source by CDQ.
      example: VIES:PL8660001429
    schemas-Provenance:
      type: object
      description: >-
        The source of the change or update. Could be the reference data source
        as VIES or Organization.
      properties:
        name:
          $ref: '#/components/schemas/ProvenanceName'
        url:
          $ref: '#/components/schemas/ProvenanceUrl'
        technicalKey:
          $ref: '#/components/schemas/ProvenanceTechnicalKey'
        cdqId:
          $ref: '#/components/schemas/ProvenanceCdqId'
    AddressMetadata:
      type: object
      description: Specifies the language and primary data provenance.
      properties:
        primaryProvenance:
          $ref: '#/components/schemas/schemas-Provenance'
        language:
          $ref: '#/components/schemas/Language'
    CareOfValue:
      type: string
      description: Value of the CareOf.
      example: CDQ GmbH c/o Product Department
    CareOf:
      type: object
      description: >-
        Signifies an intermediary who is responsible for transferring a piece of
        mail between the postal system and the final addressee. For example,
        when the addressee has no standard address, is under a corporate mail
        system, or is being manually forwarded mail sent to a more accessible
        location.
      properties:
        value:
          $ref: '#/components/schemas/CareOfValue'
    AddressContextValue:
      type: string
      description: Value of the Address Context.
      example: Production hall 7, Storage field 8.
    AddressContext:
      type: object
      description: >-
        The address context provides us with some additional information about
        the usage or specific recipient information of the addresses. It may
        hold multiple information organized as "tags".
      properties:
        value:
          $ref: '#/components/schemas/AddressContextValue'
    PostCodeValue:
      type: string
      description: Effective [post code](https://meta.cdq.com/Address/post_code).
      example: '9000'
    PostCodeTypeName:
      type: string
      description: Display label for the Post Code Type.
      example: Regular
    PostCodeTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Administrative Area](https://meta.cdq.com/Address/post_code/type).
      example: https://meta.cdq.com/Address/post_code/type
    PostCodeTypeTechnicalKey:
      type: string
      description: Technical key of the Post Code.
      example: REGULAR
    PostCodeType:
      type: object
      description: Type of the Post Code.
      properties:
        name:
          $ref: '#/components/schemas/PostCodeTypeName'
        url:
          $ref: '#/components/schemas/PostCodeTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PostCodeTypeTechnicalKey'
    PostCode:
      type: object
      description: >-
        A country specific code for a certain
        [address](https://meta.cdq.com/Address) component or an combination of
        [address](https://meta.cdq.com/Address) components, e.g.
        [locality](https://meta.cdq.com/Address/locality).
      example: '9000'
      properties:
        value:
          $ref: '#/components/schemas/PostCodeValue'
        type:
          $ref: '#/components/schemas/PostCodeType'
    LocalityTypeName:
      type: string
      description: Display label for the Locality Type.
      example: City
    LocalityTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Locality
        Type](https://meta.cdq.com/Address/locality/type).
      example: https://meta.cdq.com/Address/locality/type
    LocalityTypeTechnicalKey:
      type: string
      description: Technical Key of the Locality Type.
      example: CITY
    LocalityType:
      type: object
      description: Type of the [Locality](https://meta.cdq.com/Address/locality).
      properties:
        name:
          $ref: '#/components/schemas/LocalityTypeName'
        url:
          $ref: '#/components/schemas/LocalityTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/LocalityTypeTechnicalKey'
    LocalityShortName:
      type: string
      description: Abbreviation of the [Locality](https://meta.cdq.com/Address/locality).
      example: St. Gallen
    LocalityValue:
      type: string
      description: Name of the [Locality](https://meta.cdq.com/Address/locality).
      example: Sankt Gallen
    Locality:
      type: object
      description: >-
        A locality is a named densely populated area (a place) such as town,
        village, suburb, etc. A locality composes of many individual addresses.
        Many localities exist in an [administrative
        area](https://meta.cdq.com/Address/administrative_area). A locality can
        also have several levels of sub localities.
      properties:
        type:
          $ref: '#/components/schemas/LocalityType'
        shortName:
          $ref: '#/components/schemas/LocalityShortName'
        value:
          $ref: '#/components/schemas/LocalityValue'
        language:
          $ref: '#/components/schemas/Language'
    ThoroughfareTypeName:
      type: string
      description: Display label for the Thoroughfare Type Name.
      example: Industrial zone
    ThoroughfareTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Thoroughfare Type](https://meta.cdq.com/Address/thoroughfare/type).
      example: https://meta.cdq.com/Address/thoroughfare/type
    ThoroughfareTypeTechnicalKey:
      type: string
      description: Technical key of the Thoroughfare Type.
      example: INDUSTRIAL_ZONE
    ThoroughfareType:
      type: object
      description: Type of the [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      properties:
        name:
          $ref: '#/components/schemas/ThoroughfareTypeName'
        url:
          $ref: '#/components/schemas/ThoroughfareTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/ThoroughfareTypeTechnicalKey'
    ThoroughfareShortName:
      type: string
      description: >-
        Abbreviation of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      example: Lukasstr. 4
    ThoroughfareNumber:
      type: string
      description: Number of the [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      example: '4'
    ThoroughfareValue:
      type: string
      description: >-
        Comprehensive designation of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare) including the
        thoroughfare type such as Street, or Rue.
      example: Lukasstraße 4
    ThoroughfareName:
      type: string
      description: >-
        Pure name of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare) not comprising
        the thoroughfare type such as Street, or Rue.
      example: Lukasstraße
    ThoroughfareDirection:
      type: string
      description: >-
        Direction of the
        [Thoroughfare](https://meta.cdq.com/Address/thoroughfare).
      example: 221-bis Baker Street, North
    Thoroughfare:
      type: object
      description: >-
        Details of the access route along which buildings, lots, or land are
        located, such as street, road, channel, crescent, avenue, etc. This also
        includes canals or banks on which houses or boat houses are located
        where people live.
      properties:
        type:
          $ref: '#/components/schemas/ThoroughfareType'
        shortName:
          $ref: '#/components/schemas/ThoroughfareShortName'
        number:
          $ref: '#/components/schemas/ThoroughfareNumber'
        value:
          $ref: '#/components/schemas/ThoroughfareValue'
        name:
          $ref: '#/components/schemas/ThoroughfareName'
        direction:
          $ref: '#/components/schemas/ThoroughfareDirection'
        language:
          $ref: '#/components/schemas/Language'
    PremiseValue:
      type: string
      description: The actual value of a Premise in the language of the address.
      example: Lukasstraße 4
    PremiseShortName:
      type: string
      description: Abbreviation of the Premise.
      example: Lukasstr. 4
    PremiseNumber:
      type: string
      description: Number of the Premise.
      example: '4'
    PremiseTypeName:
      type: string
      description: Display label for the Premise Type.
      example: Factory
    PremiseTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Premise
        Type](https://meta.cdq.com/Address/premise/type).
      example: https://meta.cdq.com/Address/premise/type
    PremiseTypeTechnicalKey:
      type: string
      description: Technical key of the Premise Type.
      example: FACTORY
    PremiseType:
      type: object
      description: Type of the Premise.
      properties:
        name:
          $ref: '#/components/schemas/PremiseTypeName'
        url:
          $ref: '#/components/schemas/PremiseTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PremiseTypeTechnicalKey'
    Premise:
      type: object
      description: >-
        A premise is a tract of land including its buildings. A premise may have
        several sub-levels to precisely identify.
      properties:
        value:
          $ref: '#/components/schemas/PremiseValue'
        shortName:
          $ref: '#/components/schemas/PremiseShortName'
        number:
          $ref: '#/components/schemas/PremiseNumber'
        type:
          $ref: '#/components/schemas/PremiseType'
        language:
          $ref: '#/components/schemas/Language'
    PostalDeliveryPointTypeName:
      type: string
      description: Display label for the Postal Delivery Point Type.
      example: Mailbox
    PostalDeliveryPointTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Postal
        Delivery Point](https://meta.cdq.com/Address/postal_delivery_point/type)
      example: https://meta.cdq.com/Address/postal_delivery_point/type
    PostalDeliveryPointTypeTechnicalKey:
      type: string
      description: Technical key of the Postal Delivery Point.
      example: MAILBOX
    PostalDeliveryPointType:
      type: object
      description: A single mailbox or other place at which postal mail is delivered.
      properties:
        name:
          $ref: '#/components/schemas/PostalDeliveryPointTypeName'
        url:
          $ref: '#/components/schemas/PostalDeliveryPointTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PostalDeliveryPointTypeTechnicalKey'
    PostalDeliveryPointShortName:
      type: string
      description: >-
        Stort name of the [Postal Delivery
        Point](https://meta.cdq.com/Address/postal_delivery_point).
      example: St Gallen, Postfach 460
    PostalDeliveryPointNumber:
      type: string
      description: >-
        Number of the [Postal Delivery
        Point](https://meta.cdq.com/Address/postal_delivery_point).
      example: '460'
    PostalDeliveryPointValue:
      type: string
      description: >-
        Value of the [Postal Delivery
        Point](https://meta.cdq.com/Address/postal_delivery_point).
      example: Postfach
    PostalDeliveryPoint:
      type: object
      description: A single mailbox or other place at which postal mail is delivered.
      properties:
        type:
          $ref: '#/components/schemas/PostalDeliveryPointType'
        shortName:
          $ref: '#/components/schemas/PostalDeliveryPointShortName'
        number:
          $ref: '#/components/schemas/PostalDeliveryPointNumber'
        value:
          $ref: '#/components/schemas/PostalDeliveryPointValue'
        language:
          $ref: '#/components/schemas/Language'
    OpeningHour:
      type: object
      description: Time range in which the company is open.
      properties:
        openingHour:
          type: string
          description: Company openning hour.
          example: 09:00 AM
        closingHour:
          type: string
          description: Company closing hour.
          example: 05:00 PM
        weekday:
          type: string
          description: A day in the week in which the company is open.
          example: Monday
    GeographicCoordinatesLatitude:
      description: Plain on the earth's surface north or south of the equator.
      example: '47.439549'
      type: number
      format: double
    GeographicCoordinatesLongitude:
      description: Plain on the earth's surface east or west of a meridian.
      example: '9.395275'
      type: number
      format: double
    GeographicCoordinates:
      type: object
      description: Decimal geographic coordinates (WGS 84 - reference coordinate system).
      properties:
        latitude:
          $ref: '#/components/schemas/GeographicCoordinatesLatitude'
        longitude:
          $ref: '#/components/schemas/GeographicCoordinatesLongitude'
    AddressTypeName:
      type: string
      description: Display label for the Address Type.
      example: Legal Address
    AddressTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Address
        Type](https://meta.cdq.com/Address/type).
      example: https://meta.cdq.com/Address/type
    AddressTypeTechnicalKey:
      type: string
      description: Technical key of the Address Type.
      example: LEGAL_ADDRESS
    AddressType:
      type: object
      description: >-
        An address type characterizes an address. The type of an address is a
        structural statement and provides a truth that is applicable to any user
        (e.g. a legal address is a fact, or that an address is a PO BOX
        address), other than address functions that may differ from user to
        user. Address functions determine the particular business context in
        which an address is in use.
      properties:
        name:
          $ref: '#/components/schemas/AddressTypeName'
        url:
          $ref: '#/components/schemas/AddressTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/AddressTypeTechnicalKey'
    FormattedAddressCountry:
      type: string
      description: Country name.
      example: Switzerland
    FormattedAddressAdministrativeArea:
      type: string
      description: A top-level geographical or political area division in a country.
      example: Sankt Gallen
    FormattedAddressRegion:
      type: string
      description: Top level subdivision of a country.
      example: Sankt Gallen
    FormattedAddressRegionCode:
      type: string
      description: A country specific code for a certain address in the region.
      example: '9004'
    FormattedAddressLocality:
      type: string
      description: >-
        A locality is a named densely populated area (a place) such as town,
        village, suburb, etc. A locality composes of many individual addresses.
      example: Sankt Gallen
    FormattedAddressDistrict:
      type: string
      description: >-
        Type of administrative division that, in some countries, is managed by
        local government. Across the world, areas known as "districts" vary
        greatly in size, spanning regions or counties, several municipalities,
        subdivisions of municipalities, school district, or political district.
      example: City center
    FormattedAddressPostalCode:
      type: string
      description: A country specific code for a certain address.
      example: '9000'
    FormattedAddressThoroughfare:
      type: string
      description: >-
        Details of the access route along which buildings, lots, or land are
        located, such as street, road, channel, crescent, avenue.
      example: Lukassstrasse
    FormattedAddressPremise:
      type: string
      description: >-
        A premise is a tract of land including its buildings. A premise may have
        several sub-levels to precisely identify.
      example: Lukasstraße 4, Building 2, Floor 3, Room 4
    FormattedAddressInterurbanDeliveryPoint:
      type: string
      description: A single mailbox or other place at which postal mail is delivered.
      example: Sankt Gallen, Postfach 460
    FormattedAddressMailbox:
      type: string
      description: A location at an address where the post is delivered to.
      example: Postfach 460
    FormattedAddressPostOfficeBox:
      type: string
      description: >-
        A uniquely addressable lockable box located on the premises of a post
        office station.
      example: Postfach 460
    FormattedAddress:
      type: object
      description: A formatted address is a structured address of VIES data source.
      properties:
        country:
          $ref: '#/components/schemas/FormattedAddressCountry'
        administrativeArea:
          $ref: '#/components/schemas/FormattedAddressAdministrativeArea'
        region:
          $ref: '#/components/schemas/FormattedAddressRegion'
        regionCode:
          $ref: '#/components/schemas/FormattedAddressRegionCode'
        locality:
          $ref: '#/components/schemas/FormattedAddressLocality'
        district:
          $ref: '#/components/schemas/FormattedAddressDistrict'
        postalCode:
          $ref: '#/components/schemas/FormattedAddressPostalCode'
        thoroughfare:
          $ref: '#/components/schemas/FormattedAddressThoroughfare'
        premise:
          $ref: '#/components/schemas/FormattedAddressPremise'
        interurbanDeliveryPoint:
          $ref: '#/components/schemas/FormattedAddressInterurbanDeliveryPoint'
        mailbox:
          $ref: '#/components/schemas/FormattedAddressMailbox'
        postOfficeBox:
          $ref: '#/components/schemas/FormattedAddressPostOfficeBox'
    Address:
      type: object
      description: >-
        An address provides information about the physical location of a
        business partner. It can be specialized in a certain context(e.g.
        delivery address or invoice address).
      properties:
        version:
          $ref: '#/components/schemas/AddressVersion'
        identifyingName:
          $ref: '#/components/schemas/AddressIdentifyingName'
        externalId:
          $ref: '#/components/schemas/AddressExternalId'
        metadata:
          $ref: '#/components/schemas/AddressMetadata'
        careOf:
          $ref: '#/components/schemas/CareOf'
        contexts:
          type: array
          items:
            $ref: '#/components/schemas/AddressContext'
        country:
          $ref: '#/components/schemas/Country'
        administrativeAreas:
          type: array
          items:
            $ref: '#/components/schemas/AdministrativeArea'
        postCodes:
          type: array
          items:
            $ref: '#/components/schemas/PostCode'
        localities:
          type: array
          items:
            $ref: '#/components/schemas/Locality'
        thoroughfares:
          type: array
          items:
            $ref: '#/components/schemas/Thoroughfare'
        premises:
          type: array
          items:
            $ref: '#/components/schemas/Premise'
        postalDeliveryPoints:
          type: array
          items:
            $ref: '#/components/schemas/PostalDeliveryPoint'
        openingHours:
          type: array
          items:
            $ref: '#/components/schemas/OpeningHour'
        geographicCoordinates:
          $ref: '#/components/schemas/GeographicCoordinates'
        types:
          type: array
          items:
            $ref: '#/components/schemas/AddressType'
        formattedAddress:
          $ref: '#/components/schemas/FormattedAddress'
    BusinessPartnerExternalId:
      type: string
      description: >-
        Arbitrary identifier type to mark customer IDs that are "external" from
        CDQ's perspective. This is the identifier a customer provides to
        identify its records.
      example: The ID managed in the customer's SAP systems.
    ClassificationValue:
      type: string
      description: A textual description of the Classification.
      example: Manufacture of pesticides and other agrochemical products.
    ClassificationCode:
      type: string
      description: Code that classifies the business partner.
      example: 20.20Z
    ClassificationLevel:
      type: string
      description: >-
        Defines the hierarchy of classification codes. E.g. whether the industry
        code is a `primary` or `secondary` `SIC` code.
      example: primary
    ClassificationTypeName:
      type: string
      description: Display label for the Classification Type.
      example: NAF 2003
    ClassificationTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the
        [Classification
        Type](https://meta.cdq.com/Business_partner/partner_profile/classification/type)
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/classification/type
    ClassificationTypeTechnicalKey:
      type: string
      description: TechnicalKey for the Classification Type.
      example: NAF_2003
    ClassificationType:
      type: object
      description: >-
        Type of classification such as NACE, SIC, NAF or other industry
        classification standards.
      properties:
        name:
          $ref: '#/components/schemas/ClassificationTypeName'
        url:
          $ref: '#/components/schemas/ClassificationTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/ClassificationTypeTechnicalKey'
    Classification:
      type: object
      description: >-
        A business industry or activity classification is a system of
        categorizing businesses and organizations into specific industries or
        activities based on their primary products or services, functions, or
        activities. These classifications are often used by governments, trade
        organizations, and other institutions to collect and analyze data on
        economic activity and to track trends and changes in various sectors.
      properties:
        value:
          $ref: '#/components/schemas/ClassificationValue'
        code:
          $ref: '#/components/schemas/ClassificationCode'
        level:
          $ref: '#/components/schemas/ClassificationLevel'
        type:
          $ref: '#/components/schemas/ClassificationType'
    ContactEmailValue:
      type: string
      description: Value of the email address of the Business Partner.
      example: developer-portal@cdq.com
    ContactEmail:
      type: object
      description: Actual email address of the Business Partner.
      properties:
        value:
          $ref: '#/components/schemas/ContactEmailValue'
    ProfessionTypeName:
      type: string
      description: Name of the profession type.
      example: Doctor
    ProfessionTypeUrl:
      type: string
      description: URL to the documentation of the Profession Type Technical Key.
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/general_license/profession_type/technical_key
    ProfessionTypeTechnicalKey:
      type: string
      description: Technical key of the profession type.
      example: DOCTOR
    ProfessionType:
      type: object
      description: The profession type of the Healthcare Professional.
      properties:
        name:
          $ref: '#/components/schemas/ProfessionTypeName'
        url:
          $ref: '#/components/schemas/ProfessionTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/ProfessionTypeTechnicalKey'
    LicenseStatusName:
      type: string
      description: Name of the license status.
      example: Granted
    LicenseStatusUrl:
      type: string
      description: URL to the documentation of the License Status Technical Key.
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/general_license/license_status/technical_key
    LicenseStatusTechnicalKey:
      type: string
      description: Technical key of the license status.
      example: GRANTED
    LicenseStatus:
      type: object
      description: The license status of the Healthcare Professional.
      properties:
        name:
          $ref: '#/components/schemas/LicenseStatusName'
        url:
          $ref: '#/components/schemas/LicenseStatusUrl'
        technicalKey:
          $ref: '#/components/schemas/LicenseStatusTechnicalKey'
    GeneralLicense:
      type: object
      description: The general license of the Healthcare Professional.
      properties:
        professionType:
          $ref: '#/components/schemas/ProfessionType'
        licenseStatus:
          $ref: '#/components/schemas/LicenseStatus'
    PermissionStatusName:
      type: string
      description: Name of the permission status.
      example: Granted
    PermissionStatusUrl:
      type: string
      description: URL to the documentation of the Permission Status Technical Key.
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/operational_permissions/permission_status/url
    PermissionStatusTechnicalKey:
      type: string
      description: Technical key of the permission status.
      example: GRANTED
    PermissionStatus:
      type: object
      description: The permission status of the operational permission.
      properties:
        name:
          $ref: '#/components/schemas/PermissionStatusName'
        url:
          $ref: '#/components/schemas/PermissionStatusUrl'
        technicalKey:
          $ref: '#/components/schemas/PermissionStatusTechnicalKey'
    ActivityStatusName:
      type: string
      description: |
        Name of the activity status.
        Possible values: 
        * Active - The operational permission is active.
        * Inactive - The operational permission is inactive.
      example: Inactive
    ActivityStatusUrl:
      type: string
      description: URL to the documentation of the Activity Status Technical Key.
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/operational_permissions/activity_status/url
    ActivityStatusTechnicalKey:
      type: string
      description: Technical key of the activity status.
      example: INACTIVE
    ActivityStatus:
      type: object
      description: The activity status of the operational permission.
      properties:
        name:
          $ref: '#/components/schemas/ActivityStatusName'
        url:
          $ref: '#/components/schemas/ActivityStatusUrl'
        technicalKey:
          $ref: '#/components/schemas/ActivityStatusTechnicalKey'
    SelfDispensationStatusName:
      type: string
      description: Name of the self-dispensation status.
      example: 'No'
    SelfDispensationStatusUrl:
      type: string
      description: URL to the documentation of the Self Dispensation Status Technical Key.
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/operational_permissions/self_dispensation_status/url
    SelfDispensationStatusTechnicalKey:
      type: string
      description: Technical key of the self-dispensation status.
      example: 'NO'
    SelfDispensationStatus:
      type: object
      description: The self-dispensation status of the Healthcare Professional.
      properties:
        name:
          $ref: '#/components/schemas/SelfDispensationStatusName'
        url:
          $ref: '#/components/schemas/SelfDispensationStatusUrl'
        technicalKey:
          $ref: '#/components/schemas/SelfDispensationStatusTechnicalKey'
    ControlledSubstancePurchasePermissionName:
      type: string
      description: Name of the controlled substance purchase permission.
      example: 'Yes'
    ControlledSubstancePurchasePermissionUrl:
      type: string
      description: >-
        URL to the documentation of the Controlled Substance Purchase Permission
        Technical Key.
      example: >-
        https://meta.cdq.com/Business_partner/partner_profile/hcp_profile/operational_permissions/controlled_substance_purchase_permission/url
    ControlledSubstancePurchasePermissionTechnicalKey:
      type: string
      description: Technical key of the controlled substance purchase permission.
      example: 'YES'
    ControlledSubstancePurchasePermission:
      type: object
      description: >-
        The controlled substance purchase permission of the Healthcare
        Professional.
      properties:
        name:
          $ref: '#/components/schemas/ControlledSubstancePurchasePermissionName'
        url:
          $ref: '#/components/schemas/ControlledSubstancePurchasePermissionUrl'
        technicalKey:
          $ref: >-
            #/components/schemas/ControlledSubstancePurchasePermissionTechnicalKey
    PracticeLocation:
      type: object
      description: The practice location of the Healthcare Professional.
      properties:
        practiceName:
          type: string
          description: The practice location of the Healthcare Professional.
          example: VIVOMED AG
        selfDispensationStatus:
          $ref: '#/components/schemas/SelfDispensationStatus'
        controlledSubstancePurchasePermission:
          $ref: '#/components/schemas/ControlledSubstancePurchasePermission'
    OperationalPermission:
      type: object
      description: The operational permission of the Healthcare Professional.
      properties:
        issuingAuthority:
          type: string
          description: The issuing authority of the operational permission.
          example: Swiss Medical Association
        permissionStatus:
          $ref: '#/components/schemas/PermissionStatus'
        activityStatus:
          $ref: '#/components/schemas/ActivityStatus'
        practiceLocations:
          type: array
          description: Practice locations of the Healthcare Professional.
          items:
            $ref: '#/components/schemas/PracticeLocation'
    HcpProfile:
      type: object
      description: >
        Healthcare Professional Profile informs about the status, licenses, and
        location of a natural person who is a member 

        of the medical, dental, pharmacy, or nursing professions or any other
        person who, in the course of his/her professional 

        activities, may prescribe, purchase, supply, recommend or administer a
        Medicinal Product and whose primary practice, 

        principal professional address or place of incorporation is in Europe.
      properties:
        generalLicense:
          $ref: '#/components/schemas/GeneralLicense'
        operationalPermissions:
          type: array
          description: Operational permissions of the Healthcare Professional.
          items:
            $ref: '#/components/schemas/OperationalPermission'
    MinorityIndicatorValue:
      type: string
      description: >-
        The actual value of the minority indicator, representing the minority
        group.
      example: Social enterprise
    MinorityIndicator:
      description: >
        The minority indicator determines the minority group to which a vendor
        belongs. Usually, the minority indicator is only relevant in the United
        States and it is used for reporting purposes only. There is a
        corresponding SAP field in the vendor master for maintaining the
        minority indicator.


        This feature is as of today dependent on data provided by a US based
        company: SupplierGateway.


        Additional documentation can be found
        [here](https://meta.cdq.com/Business_partner/partner_profile/minority_indicator).
      type: object
      properties:
        value:
          $ref: '#/components/schemas/MinorityIndicatorValue'
    PhoneNumberCountryPrefix:
      type: string
      description: The country prefix of a phone number.
      example: '+41'
    PhoneNumberNumber:
      type: string
      description: The complete phone number without any country prefixes.
      example: 71 571 10 40
    PhoneNumberTypeName:
      type: string
      description: Display label for a Phone Number Type Name.
      example: FAX
    PhoneNumberTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of the [Phone
        Number
        Type](https://meta.cdq.com/Business_partner/partner_profile/phone_number/type).
      example: https://meta.cdq.com/Business_partner/partner_profile/phone_number/type
    PhoneNumberTypeTechnicalKey:
      type: string
      description: Technical Keys of the PhoneNumber.
      example: FAX
    PhoneNumberType:
      type: object
      description: >-
        The type of a phone number such as mobile phone or fixed line 
        [here](https://meta.cdq.com/Business_partner/partner_profile/phone_number/type).
      properties:
        name:
          $ref: '#/components/schemas/PhoneNumberTypeName'
        url:
          $ref: '#/components/schemas/PhoneNumberTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/PhoneNumberTypeTechnicalKey'
    PhoneNumberValue:
      type: string
      description: The actual complete phone number incl. country prefix.
      example: +41 71 571 10 40
    PhoneNumber:
      type: object
      description: >-
        The main phone number of a business partner, usually some info-line of
        the headquarter.
      properties:
        countryPrefix:
          $ref: '#/components/schemas/PhoneNumberCountryPrefix'
        number:
          $ref: '#/components/schemas/PhoneNumberNumber'
        type:
          $ref: '#/components/schemas/PhoneNumberType'
        value:
          $ref: '#/components/schemas/PhoneNumberValue'
    TagValue:
      type: string
      description: Value of the tag.
      example: Warehouse
    TagTypeTechnicalKey:
      type: string
      description: Technical Key of the Tag.
      example: WAREHOUSE
    TagType:
      description: A type that specifies the nature of the tag.
      type: object
      properties:
        technicalKey:
          $ref: '#/components/schemas/TagTypeTechnicalKey'
    Tag:
      type: object
      description: >-
        Describing and identifying a resource. Custom information about the
        resource in form of a tag.
      properties:
        value:
          $ref: '#/components/schemas/TagValue'
        type:
          $ref: '#/components/schemas/TagType'
    Tags:
      type: array
      items:
        $ref: '#/components/schemas/Tag'
    VatPayerStatusPublicationDate:
      type: string
      description: Date of publication
      example: '2020-07-21T17:32:28Z'
    PayerStatusName:
      type: string
      description: Name of Vat payer status. Available values RELIABLE and UNRELIABLE
      example: RELIABLE
    PayerStatusTechnicalKey:
      type: string
      description: Technical key of Vat payer status
      example: VAT_PAYER_STATUS
    PayerStatus:
      description: Information about payer status.
      type: object
      properties:
        name:
          $ref: '#/components/schemas/PayerStatusName'
        technicalKey:
          $ref: '#/components/schemas/PayerStatusTechnicalKey'
    RegistrationAuthorityId:
      type: string
      description: >-
        The reference code of the registration authority, taken from the
        Registration Authorities Code List maintained by GLEIF.
      example: RA000009
    RegistrationAuthorityEntityId:
      type: string
      description: The identifier of the Entity at the indicated registration authority.
      example: RA000009
    OtherRegistrationAuthorityId:
      type: string
      description: A legacy / historical reference code of a registration authority.
      example: RA000009
    RegistrationAuthority:
      description: Additional information about registration authority.
      type: object
      properties:
        registrationAuthorityId:
          $ref: '#/components/schemas/RegistrationAuthorityId'
        registrationAuthorityEntityId:
          $ref: '#/components/schemas/RegistrationAuthorityEntityId'
        otherRegistrationAuthorityId:
          $ref: '#/components/schemas/OtherRegistrationAuthorityId'
    VatPayerStatus:
      description: >-
        Information about VAT status including publication date and registration
        authority.
      type: object
      properties:
        publicationDate:
          $ref: '#/components/schemas/VatPayerStatusPublicationDate'
        status:
          $ref: '#/components/schemas/PayerStatus'
        registrationAuthority:
          $ref: '#/components/schemas/RegistrationAuthority'
    WebsiteUrl:
      type: string
      description: The actual company website URL.
      example: https://cdq.com
    WebsiteTypeName:
      type: string
      description: Display label for a Website Type Name
      example: Corporate Website
    WebsiteTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes [Website Type
        Name](https://meta.cdq.com/Business_Partner/partner_profile/website/type).
      example: https://meta.cdq.com/Business_Partner/partner_profile/website/type
    WebsiteTypeTechnicalKey:
      type: string
      description: Technical Keys of the Website Type Name.
      example: WEBSITE_TYPE_CORPORATE
    WebsiteType:
      type: object
      description: >-
        Describes the type of website of a business partner, e.g. corporate
        website, official LinkedIn profile, etc.
      properties:
        name:
          $ref: '#/components/schemas/WebsiteTypeName'
        url:
          $ref: '#/components/schemas/WebsiteTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/WebsiteTypeTechnicalKey'
    Website:
      type: object
      description: >-
        Webpages related to the business partner, e.g. the main corporate
        website as also provided by some company registers.
      properties:
        url:
          $ref: '#/components/schemas/WebsiteUrl'
        type:
          $ref: '#/components/schemas/WebsiteType'
    PartnerProfile:
      description: >-
        A business partner profile contains important information about a
        company, such as its classification, tags, contact details, or minority
        indicator.
      type: object
      properties:
        classifications:
          type: array
          items:
            $ref: '#/components/schemas/Classification'
        contactEmails:
          type: array
          items:
            $ref: '#/components/schemas/ContactEmail'
        hcpProfile:
          $ref: '#/components/schemas/HcpProfile'
        minorityIndicator:
          $ref: '#/components/schemas/MinorityIndicator'
        phoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
        tags:
          $ref: '#/components/schemas/Tags'
        vatPayerStatus:
          $ref: '#/components/schemas/VatPayerStatus'
        websites:
          type: array
          items:
            $ref: '#/components/schemas/Website'
    FormattedSapRecordName1:
      type: string
      description: A name1 filed of a business partner name.
      example: CDQ AG
    FormattedSapRecordName2:
      type: string
      description: A name2 filed of a business partner name.
      example: CDQ AG
    FormattedSapRecordName3:
      type: string
      description: A name3 filed of a business partner name.
      example: CDQ AG
    FormattedSapRecordName4:
      type: string
      description: A name4 filed of a business partner name.
      example: CDQ AG
    FormattedSapRecordNameCo:
      type: string
      description: The legal form name of a Legal Form.
      example: Aktiengesellschaft
    FormattedSapRecordLegalEntity:
      type: string
      description: The legal entity of a Legal Form.
      example: Aktiengesellschaft
    FormattedSapRecordLegalForm:
      type: string
      description: The legal form of a Legal Form.
      example: Aktiengesellschaft
    FormattedSapRecordIndSector:
      type: string
      description: >-
        A business industry or activity classification is a system of
        categorizing businesses and organizations into specific industries or
        activities based on their primary products or services, functions, or
        activities. These classifications are often used by governments, trade
        organizations, and other institutions to collect and analyze data on
        economic activity and to track trends and changes in various sectors.
      example: NAF
    FormattedSapRecordIndSectorCode:
      type: string
      description: >-
        A code of business industry or activity classification is a system of
        categorizing businesses and organizations into specific industries or
        activities based on their primary products or services, functions, or
        activities. These classifications are often used by governments, trade
        organizations, and other institutions to collect and analyze data on
        economic activity and to track trends and changes in various sectors.
      example: NAF
    FormattedSapRecordEmailAddress:
      type: string
      description: Email address of the Business Partner.
      example: bp@gmail.com
    FormattedSapRecordNarp:
      type: string
      description: >-
        An individual person, i.e. not an organization. An individual has no
        identifiers and has no legal form in its name.
      example: Friedrich Nietzsche
    FormattedSapRecordStceg:
      type: string
      description: VAT registration number.
      example: CHE-218.608.88
    FormattedSapRecordStcd1:
      type: string
      description: Standard tax number field1.
      example: CHE-218.608.88
    FormattedSapRecordStcd2:
      type: string
      description: Standard tax number field2.
      example: CHE-218.608.88
    FormattedSapRecordStcd3:
      type: string
      description: Standard tax number field3.
      example: CHE-218.608.88
    FormattedSapRecordStcd4:
      type: string
      description: Standard tax number field4.
      example: CHE-218.608.88
    FormattedSapRecordStcd5:
      type: string
      description: Standard tax number field5.
      example: CHE-218.608.88
    FormattedSapRecordUrl:
      type: string
      description: >-
        Webpages related to the business partner, e.g. the main corporate
        website as also provided by some company registers.
      example: www.cdq.com
    FormattedSapRecordTelNumber:
      type: string
      description: >-
        The main phone number of a business partner, usually some info-line of
        the headquarter.
      example: +41 71 571 10 40
    FormattedSapRecordCountry:
      type: string
      description: Country name.
      example: Switzerland
    FormattedSapRecordCountryCode:
      type: string
      description: Country code (ISO 3166-1 alpha-2)
      example: CH
    FormattedSapRecordRegion:
      type: string
      description: A top-level geographical or political area division in a country.
      example: Sankt Gallen
    FormattedSapRecordRegionCodeSap:
      type: string
      description: A Region specific code for a certain address.
      example: '9004'
    FormattedSapRecordRegionCode:
      type: string
      description: A country specific code for a certain address in the region.
      example: '9004'
    FormattedSapRecordCounty:
      type: string
      description: A sub-level geographical or political area division in a country.
      example: Sankt Gallen
    FormattedSapRecordCountyCode:
      type: string
      description: A county specific code for a certain address in the region.
      example: '9004'
    FormattedSapRecordTownship:
      type: string
      description: A sub-level geographical or political area division in a country.
      example: Sankt Gallen
    FormattedSapRecordTownshipCode:
      type: string
      description: A township specific code for a certain address in the region.
      example: '9004'
    FormattedSapRecordCity:
      type: string
      description: >-
        A locality is a named densely populated area (a place) such as town,
        village, suburb, etc. A locality composes of many individual addresses.
        Many localities exist in an [administrative
        area](https://meta.cdq.com/Address/administrative_area). A locality can
        also have several levels of sub localities.
      example: Sankt Gallen
    FormattedSapRecordDistrict:
      type: string
      description: Area of a country or city.
      example: St. Georgen
    FormattedSapRecordPostalCode:
      type: string
      description: A country specific code for a certain address.
      example: '9000'
    FormattedSapRecordPostalCode3:
      type: string
      description: A country specific code for a certain address.
      example: '9000'
    FormattedSapRecordStreet1:
      type: string
      description: >-
        Details of the access route along which buildings, lots, or land are
        located, such as street, road, channel, crescent, avenue, etc. This also
        includes canals or banks on which houses or boat houses are located
        where people live.
      example: Lukasstraße 4
    FormattedSapRecordStreet2:
      type: string
      description: Additional street filed.
      example: Lukasstraße 4
    FormattedSapRecordStreet5:
      type: string
      description: Additional street filed.
      example: Lukasstraße 4
    FormattedSapRecordHouseNum:
      type: string
      description: Number of the Thoroughfare.
      example: '4'
    FormattedSapRecordHouseNum2:
      type: string
      description: Additional number filed.
      example: '4'
    FormattedSapRecordBuilding:
      type: string
      description: >-
        A structure (such as a house, hospital, school, etc.) with a roof and
        walls that is used as a place for people to live, work, do activities,
        store things, etc.
      example: Office 2
    FormattedSapRecordFloor:
      type: string
      description: The floor/story of the building.
      example: '2'
    FormattedSapRecordRoomnumber:
      type: string
      description: A distinct room in a building.
      example: '123'
    FormattedSapRecordPoBoxCountry:
      type: string
      description: A location at an address where the post is delivered to.
      example: '9000'
    FormattedSapRecordPoBoxCity:
      type: string
      description: A location at an address where the post is delivered to.
      example: '9000'
    FormattedSapRecordPoBoxPostalCode:
      type: string
      description: A location at an address where the post is delivered to.
      example: '9000'
    FormattedSapRecordPoBox:
      type: string
      description: Des
      example: '9000'
    FormattedSapRecordLatitude:
      type: string
      description: Plain on the earth's surface north or south of the equator.
      example: '47.439549'
    FormattedSapRecordLongitude:
      type: string
      description: Plain on the earth's surface east or west of a meridian.
      example: '9.395275'
    FormattedSapRecord:
      description: >-
        Provides business partner and address information in a data structure
        similar to SAP Business Partner table BUT000 and SAP Business Address
        Services table ADRC. Field names are equal or very similar to SAP field
        names in order to simplify field mapping. Data for name and street
        fields is already split into chunks of max. 35 characters.
      type: object
      properties:
        name1:
          $ref: '#/components/schemas/FormattedSapRecordName1'
        name2:
          $ref: '#/components/schemas/FormattedSapRecordName2'
        name3:
          $ref: '#/components/schemas/FormattedSapRecordName3'
        name4:
          $ref: '#/components/schemas/FormattedSapRecordName4'
        nameCo:
          $ref: '#/components/schemas/FormattedSapRecordNameCo'
        legalEntity:
          $ref: '#/components/schemas/FormattedSapRecordLegalEntity'
        legalForm:
          $ref: '#/components/schemas/FormattedSapRecordLegalForm'
        indSector:
          $ref: '#/components/schemas/FormattedSapRecordIndSector'
        indSectorCode:
          $ref: '#/components/schemas/FormattedSapRecordIndSectorCode'
        emailAddress:
          $ref: '#/components/schemas/FormattedSapRecordEmailAddress'
        narp:
          $ref: '#/components/schemas/FormattedSapRecordNarp'
        stceg:
          $ref: '#/components/schemas/FormattedSapRecordStceg'
        stcd1:
          $ref: '#/components/schemas/FormattedSapRecordStcd1'
        stcd2:
          $ref: '#/components/schemas/FormattedSapRecordStcd2'
        stcd3:
          $ref: '#/components/schemas/FormattedSapRecordStcd3'
        stcd4:
          $ref: '#/components/schemas/FormattedSapRecordStcd4'
        stcd5:
          $ref: '#/components/schemas/FormattedSapRecordStcd5'
        url:
          $ref: '#/components/schemas/FormattedSapRecordUrl'
        telNumber:
          $ref: '#/components/schemas/FormattedSapRecordTelNumber'
        country:
          $ref: '#/components/schemas/FormattedSapRecordCountry'
        countryCode:
          $ref: '#/components/schemas/FormattedSapRecordCountryCode'
        region:
          $ref: '#/components/schemas/FormattedSapRecordRegion'
        regionCodeSap:
          $ref: '#/components/schemas/FormattedSapRecordRegionCodeSap'
        regionCode:
          $ref: '#/components/schemas/FormattedSapRecordRegionCode'
        county:
          $ref: '#/components/schemas/FormattedSapRecordCounty'
        countyCode:
          $ref: '#/components/schemas/FormattedSapRecordCountyCode'
        township:
          $ref: '#/components/schemas/FormattedSapRecordTownship'
        townshipCode:
          $ref: '#/components/schemas/FormattedSapRecordTownshipCode'
        city:
          $ref: '#/components/schemas/FormattedSapRecordCity'
        district:
          $ref: '#/components/schemas/FormattedSapRecordDistrict'
        postalCode:
          $ref: '#/components/schemas/FormattedSapRecordPostalCode'
        postalCode3:
          $ref: '#/components/schemas/FormattedSapRecordPostalCode3'
        street1:
          $ref: '#/components/schemas/FormattedSapRecordStreet1'
        street2:
          $ref: '#/components/schemas/FormattedSapRecordStreet2'
        street5:
          $ref: '#/components/schemas/FormattedSapRecordStreet5'
        houseNum:
          $ref: '#/components/schemas/FormattedSapRecordHouseNum'
        houseNum2:
          $ref: '#/components/schemas/FormattedSapRecordHouseNum2'
        building:
          $ref: '#/components/schemas/FormattedSapRecordBuilding'
        floor:
          $ref: '#/components/schemas/FormattedSapRecordFloor'
        roomnumber:
          $ref: '#/components/schemas/FormattedSapRecordRoomnumber'
        poBoxCountry:
          $ref: '#/components/schemas/FormattedSapRecordPoBoxCountry'
        poBoxCity:
          $ref: '#/components/schemas/FormattedSapRecordPoBoxCity'
        poBoxPostalCode:
          $ref: '#/components/schemas/FormattedSapRecordPoBoxPostalCode'
        poBox:
          $ref: '#/components/schemas/FormattedSapRecordPoBox'
        latitude:
          $ref: '#/components/schemas/FormattedSapRecordLatitude'
        longitude:
          $ref: '#/components/schemas/FormattedSapRecordLongitude'
    BusinessPartnerRelationStartedAt:
      type: string
      description: Describe when this relationship was first established.
      example: 2019-08-31T16:47+00:00
    BusinessPartnerRelationEndedAt:
      type: string
      description: Describe when this relationship ended.
      example: 2019-08-31T16:47+00:00
    BusinessPartnerRelationTypeName:
      type: string
      description: Display name of the Business Partner Relation Type.
      example: Commercial ultimate
    BusinessPartnerRelationTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of a [Business
        Partner Relation
        Type](https://meta.cdq.com/Business_partner/relation/type).
      example: https://meta.cdq.com/Business_partner/relation/type
    BusinessPartnerRelationTypeTechnicalKey:
      type: string
      description: Technical Key of the Business Partner Relation Type.
      example: COMMERCIAL_ULTIMATE
    BusinessPartnerRelationType:
      type: object
      description: >-
        Provides information about the type of the relationship between two
        Business Partners like:\ direct parent/child, ultimate parent, branch.
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerRelationTypeName'
        url:
          $ref: '#/components/schemas/BusinessPartnerRelationTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerRelationTypeTechnicalKey'
    BusinessPartnerRelationClassName:
      type: string
      description: Display name of the Business Partner Relation Class.
      example: CDQ Hierarchy
    BusinessPartnerRelationClassUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of a [Business
        Partner Relation
        Class](https://meta.cdq.com/Business_partner/relation/class).
      example: https://meta.cdq.com/Business_partner/relation/class
    BusinessPartnerRelationClassTechnicalKey:
      type: string
      description: Technical Key of the Business Partner Relation Class.
      example: BUSINESS_PARTNER_RELATION_CLASS_CDQ_HIERARCHY
    BusinessPartnerRelationClass:
      type: object
      description: Provides information about the classification of the relation.
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerRelationClassName'
        url:
          $ref: '#/components/schemas/BusinessPartnerRelationClassUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerRelationClassTechnicalKey'
    BusinessPartnerRelationStartNode:
      type: string
      description: >-
        It's a number of the business partner that plays a superior role over
        the other business partner. In means that, the company is parent of the
        second company (child) and has one of the relationship type like:\
        Domestic Ultimate Legal entity or Direct Legal entity.
      example: FR.RC:5664645
    BusinessPartnerRelationEndNode:
      type: string
      description: >-
        It's a number of the business partner that plays a subordinate role over
        the other business partner. In means that, the company is chile of the
        second company (parent) and has one of the special relationship types.
      example: FR.RC:5664645
    BusinessPartnerRelation:
      type: object
      description: >-
        Business Partner hierarchy, or any other kind of relation between two
        Business Partner entities. The data about relationships between
        companies come from official, external data sources.
      properties:
        startedAt:
          $ref: '#/components/schemas/BusinessPartnerRelationStartedAt'
        endedAt:
          $ref: '#/components/schemas/BusinessPartnerRelationEndedAt'
        type:
          $ref: '#/components/schemas/BusinessPartnerRelationType'
        class:
          $ref: '#/components/schemas/BusinessPartnerRelationClass'
        startNode:
          $ref: '#/components/schemas/BusinessPartnerRelationStartNode'
        endNode:
          $ref: '#/components/schemas/BusinessPartnerRelationEndNode'
    InternationalBankAccountIdentifier:
      type: string
      description: The IBAN of a bank account.
      example: CH8800781619278412000
    InternationalBankIdentifier:
      type: string
      description: (BIC/SWIFT) Bank identifier which is globally unique.
      example: KBSGCH22XXX
    NationalBankAccountIdentifier:
      type: string
      description: Identifier of a bank account in a national context, i.e. for a country.
      example: '619278412000'
    NationalBankIdentifier:
      type: string
      description: >-
        Bank identifier which is unique in a national context, i.e. for a
        country.
      example: '00781'
    BankName:
      description: The name of a bank.
      type: string
      example: Sparda Bank
    BankBranch:
      description: The branch of a bank.
      type: string
      example: Filiale München
    BankAddress:
      type: object
      description: The address where a bank resides.
      properties:
        localities:
          type: array
          items:
            $ref: '#/components/schemas/Locality'
        country:
          $ref: '#/components/schemas/Country'
        administrativeAreas:
          type: array
          items:
            $ref: '#/components/schemas/AdministrativeArea'
        postCodes:
          type: array
          items:
            $ref: '#/components/schemas/PostCode'
        thoroughfares:
          type: array
          items:
            $ref: '#/components/schemas/Thoroughfare'
    Bank:
      type: object
      description: >-
        Financial institution that accepts deposits, facilitates withdrawals and
        transfers, and provides various financial services such as loans,
        investments, and currency exchange.
      properties:
        name:
          $ref: '#/components/schemas/BankName'
        branch:
          $ref: '#/components/schemas/BankBranch'
        address:
          $ref: '#/components/schemas/BankAddress'
    BankAccount:
      type: object
      description: >-
        A bank account record holds information that universally describes a
        registered bank account.
      properties:
        internationalBankAccountIdentifier:
          $ref: '#/components/schemas/InternationalBankAccountIdentifier'
        internationalBankIdentifier:
          $ref: '#/components/schemas/InternationalBankIdentifier'
        nationalBankAccountIdentifier:
          $ref: '#/components/schemas/NationalBankAccountIdentifier'
        nationalBankIdentifier:
          $ref: '#/components/schemas/NationalBankIdentifier'
        bank:
          $ref: '#/components/schemas/Bank'
    BusinessPartnerTypeName:
      type: string
      description: Display name of the Business Partner Type Name.
      example: Legal Entity
    BusinessPartnerTypeUrl:
      type: string
      description: >-
        URL to the documentation which summarizes all details of a [Buisness
        Partner Type](https://meta.cdq.com/Business_partner/type).
      example: https://meta.cdq.com/Business_partner/type
    BusinessPartnerTypeTechnicalKey:
      type: string
      description: Technical key of the Business Partner Type.
      example: LEGAL_ENTITY
    BusinessPartnerType:
      type: object
      description: >-
        A distinct type a business partner is assigned to. It determines the
        business context a business partner is involved in. In the Corporate
        Data League, most business partners are legal entities.
      properties:
        name:
          $ref: '#/components/schemas/BusinessPartnerTypeName'
        url:
          $ref: '#/components/schemas/BusinessPartnerTypeUrl'
        technicalKey:
          $ref: '#/components/schemas/BusinessPartnerTypeTechnicalKey'
    ExternalContextIdentifierValue:
      type: string
      description: Value of own identifiers of a record.
      example: '7250017031'
    ExternalContextIdentifierTypeTechnicalKey:
      type: string
      description: Technical key for the External Context Identifier Type.
      example: KUNNR
    ExternalContextIdentifierType:
      type: object
      description: Type of own identifiers of a record.
      properties:
        technicalKey:
          $ref: '#/components/schemas/ExternalContextIdentifierTypeTechnicalKey'
    ExternalContextIdentifier:
      type: object
      description: Describe own identifiers of a record (others than just the external Id).
      properties:
        value:
          $ref: '#/components/schemas/ExternalContextIdentifierValue'
        type:
          $ref: '#/components/schemas/ExternalContextIdentifierType'
    ExternalContext:
      type: object
      description: Describe own identifiers of a record (others than just the external Id).
      properties:
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/ExternalContextIdentifier'
    BusinessPartner:
      type: object
      description: >-
        An organization which has some degree of involvement with another
        organization's business dealings. Typically, a company's business
        partner is another company in the role of a customer, a supplier, a
        vendor, or a service provider. In the CDL context, the business partner
        is the core managed entity. A business partner is globally uniquely
        identifiable by a CDL ID, and all managed information such as addresses,
        documents, and hierarchies is linked to a business partner.
      properties:
        names:
          type: array
          items:
            $ref: '#/components/schemas/Name'
        legalForm:
          $ref: '#/components/schemas/LegalForm'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/Identifier'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerCategory'
        status:
          $ref: '#/components/schemas/BusinessPartnerStatus'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Address'
        externalId:
          $ref: '#/components/schemas/BusinessPartnerExternalId'
        profile:
          $ref: '#/components/schemas/PartnerProfile'
        formattedSapRecord:
          $ref: '#/components/schemas/FormattedSapRecord'
        relations:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerRelation'
        bankAccounts:
          type: array
          items:
            $ref: '#/components/schemas/BankAccount'
        types:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerType'
        externalContext:
          $ref: '#/components/schemas/ExternalContext'
    ExternalIdValue:
      type: string
      description: Value of the ExternalId of the business partner.
      example: '123'
    ConceptName:
      type: string
      description: Display name of the Concept.
      example: Address
    ConceptTechnicalKey:
      type: string
      description: Technical key of the Concept.
      example: ADDRESS
    PropertyName:
      type: string
      description: Name of the property.
      example: Minority Indicator Value
    PropertyTechnicalKey:
      type: string
      description: Technical key of the property.
      example: MINORITY_INDICATOR_VALUE
    PropertyContentSelector:
      type: string
      description: JSON path to the property in the provided JSON object.
      example: $.partnerProfile.minorityIndicator.value
    PropertyNewContent:
      type: string
      example: AAB
      description: New value after change
    PropertyPreviousContent:
      type: string
      example: AAB
      description: Value before change
    PropertyChangeTypeTechnicalKey:
      type: string
      description: Technical Key of the Property Change Type.
      example: MODIFIED
    PropertyChangeClassification:
      type: string
      example: MAJOR
      description: >
        Gives a user an indicator how "much" the attribute was changed OR how
        important the change was. Allowed values are:
         * `TRIVIAL` - Trivial change
         * `MINOR` - Minor change
         * `MAJOR` - Major change
         * `CRITICAL` - Critical change
    PropertyChangeConfidenceScore:
      type: number
      description: >-
        Confidence score which shows how confident CDQ is about enrichment of
        that property. Calculation dependes on property type, see here for a
        complete description.
      example: '0.0'
      minimum: 0
    PropertyChangeMaxConfidenceScore:
      type: number
      description: >-
        Maximum confidence score which is achievable for this property type.
        Note that the max value will change over time depending on the
        udnerlying algorithm which will be continously improved.
      example: '1.0'
    CreatedAt:
      type: string
      description: Date of creation (ISO 8601-compliant).
      example: 2020-08-31T16:47+00:00
    UpdateTag:
      type: string
      description: >-
        Tags an update summary to allow searching or filtering. The tag has the
        format `<type>_<concept>_<action>`.
      example: IDENTIFIER_ADDED
    UpdateClassificationTechnicalKey:
      type: string
      example: MAJOR
      description: Technical key of an update classification.
    UpdateClassificationReason:
      type: string
      description: Reason why this classification has been applied
      example: The modified post code has deprecated format.
    UpdateClassification:
      type: object
      description: >
        Gives a user an indicator how "much" the attribute was changed OR how
        important the change was. Allowed values are:
      required:
        - technicalKey
      properties:
        technicalKey:
          $ref: '#/components/schemas/UpdateClassificationTechnicalKey'
        reason:
          $ref: '#/components/schemas/UpdateClassificationReason'
    UpdateSummary:
      type: object
      description: Summarizes the applied updates for easy consumption.
      properties:
        createdAt:
          $ref: '#/components/schemas/CreatedAt'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/UpdateTag'
        classification:
          $ref: '#/components/schemas/UpdateClassification'
    UpdateActionTechnicalKey:
      type: string
      description: Technical key of an update assessment action.
      example: ADDED
    UpdateAction:
      type: object
      description: Type of update action which has been applied.
      properties:
        technicalKey:
          $ref: '#/components/schemas/UpdateActionTechnicalKey'
    ModifiedAt:
      type: string
      description: Date of modification (ISO 8601-compliant).
      example: 2020-08-31T16:47+00:00
    UpdateAssessment:
      type: object
      description: Details and assessment of an applied update.
      required:
        - action
        - classification
        - provenances
      properties:
        action:
          $ref: '#/components/schemas/UpdateAction'
        classification:
          $ref: '#/components/schemas/UpdateClassification'
        provenances:
          type: array
          minItems: 1
          uniqueItems: true
          items:
            $ref: '#/components/schemas/schemas-Provenance'
        modifiedAt:
          $ref: '#/components/schemas/ModifiedAt'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/UpdateTag'
    NameUpdateAssessment:
      type: object
      description: Update assessment for a name.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Name before applied update.
          properties:
            before:
              $ref: '#/components/schemas/Name'
    UpdatedName:
      type: object
      description: A name which contains also contextual information about applied updates.
      allOf:
        - $ref: '#/components/schemas/Name'
        - type: object
          description: Update assessment for a name.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/NameUpdateAssessment'
    LegalFormUpdateAssessment:
      type: object
      description: Update assessment for a legal form.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Legal form before applied update.
          properties:
            before:
              $ref: '#/components/schemas/LegalForm'
    UpdatedLegalForm:
      type: object
      description: >-
        A legal form which contains also contextual information about applied
        updates.
      allOf:
        - $ref: '#/components/schemas/LegalForm'
        - type: object
          description: Update assessment for a legal form.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/LegalFormUpdateAssessment'
    IdentifierUpdateAssessment:
      type: object
      description: Update assessment for an identifier.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Identifier before applied update.
          properties:
            before:
              $ref: '#/components/schemas/Identifier'
    UpdatedIdentifier:
      type: object
      description: A name which contains also contextual information about applied updates.
      allOf:
        - $ref: '#/components/schemas/Identifier'
        - type: object
          description: Update assessment for a identifier.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/IdentifierUpdateAssessment'
    BusinessPartnerCategoryUpdateAssessment:
      type: object
      description: Update assessment for a business partner category.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Business partner category before applied update.
          properties:
            before:
              $ref: '#/components/schemas/BusinessPartnerCategory'
    UpdatedBusinessPartnerCategory:
      type: object
      description: A name which contains also contextual information about applied updates.
      allOf:
        - $ref: '#/components/schemas/BusinessPartnerCategory'
        - type: object
          description: Update assessment for a business partner category.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/BusinessPartnerCategoryUpdateAssessment'
    BusinessPartnerStatusUpdateAssessment:
      type: object
      description: Update assessment for a business partner status.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Business partner status before applied update.
          properties:
            before:
              $ref: '#/components/schemas/BusinessPartnerStatus'
    UpdatedBusinessPartnerStatus:
      type: object
      description: A name which contains also contextual information about applied updates.
      allOf:
        - $ref: '#/components/schemas/BusinessPartnerStatus'
        - type: object
          description: Update assessment for a business partner status.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/BusinessPartnerStatusUpdateAssessment'
    AddressUpdateAssessment:
      type: object
      description: Update assessment for an administrative area.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
    CountryUpdateAssessment:
      type: object
      description: Update assessment for a country.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Country before applied update.
          properties:
            before:
              $ref: '#/components/schemas/Country'
    UpdatedCountry:
      type: object
      description: >-
        A country which contains also contextual information about applied
        updates.
      allOf:
        - $ref: '#/components/schemas/Country'
        - type: object
          description: Update assessment for a country.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/CountryUpdateAssessment'
    AdministrativeAreaUpdateAssessment:
      type: object
      description: Update assessment for an administrative area.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Administrative area before applied update.
          properties:
            before:
              $ref: '#/components/schemas/AdministrativeArea'
    UpdatedAdministrativeArea:
      type: object
      description: >-
        An administrative area which contains also contextual information about
        applied updates.
      allOf:
        - $ref: '#/components/schemas/AdministrativeArea'
        - type: object
          description: Update assessment for an administrative area.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/AdministrativeAreaUpdateAssessment'
    PostCodeUpdateAssessment:
      type: object
      description: Update assessment for a post code.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Post code before applied update.
          properties:
            before:
              $ref: '#/components/schemas/PostCode'
    UpdatedPostCode:
      type: object
      description: >-
        A postcode which contains also contextual information about applied
        updates.
      allOf:
        - $ref: '#/components/schemas/PostCode'
        - type: object
          description: Update assessment for a post code.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/PostCodeUpdateAssessment'
    LocalityUpdateAssessment:
      type: object
      description: Update assessment for a locality.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Locality before applied update.
          properties:
            before:
              $ref: '#/components/schemas/Locality'
    UpdatedLocality:
      type: object
      description: >-
        A locality which contains also contextual information about applied
        updates.
      allOf:
        - $ref: '#/components/schemas/Locality'
        - type: object
          description: Update assessment for a locality.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/LocalityUpdateAssessment'
    ThoroughfareUpdateAssessment:
      type: object
      description: Update assessment for a thoroughfare.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Thoroughfare before applied update.
          properties:
            before:
              $ref: '#/components/schemas/Thoroughfare'
    UpdatedThoroughfare:
      type: object
      description: >-
        A thoroughfare area which contains also contextual information about
        applied updates.
      allOf:
        - $ref: '#/components/schemas/Thoroughfare'
        - type: object
          description: Update assessment for a thoroughfare.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/ThoroughfareUpdateAssessment'
    PremiseUpdateAssessment:
      type: object
      description: Update assessment for a premise.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Premise before applied update.
          properties:
            before:
              $ref: '#/components/schemas/Premise'
    UpdatedPremise:
      type: object
      description: >-
        An premise which contains also contextual information about applied
        updates.
      allOf:
        - $ref: '#/components/schemas/Premise'
        - type: object
          description: Update assessment for a premise.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/PremiseUpdateAssessment'
    PostalDeliveryPointUpdateAssessment:
      type: object
      description: Update assessment for a postal delivery point.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Postal delivery point before applied update.
          properties:
            before:
              $ref: '#/components/schemas/PostalDeliveryPoint'
    UpdatedPostalDeliveryPoint:
      type: object
      description: >-
        A postal delivery point which contains also contextual information about
        applied updates.
      allOf:
        - $ref: '#/components/schemas/PostalDeliveryPoint'
        - type: object
          description: Update assessment for a postal delivery point.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/PostalDeliveryPointUpdateAssessment'
    GeographicCoordinatesUpdateAssessment:
      type: object
      description: Update assessment for geographic coordinates.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Geographic coordinates before applied update.
          properties:
            before:
              $ref: '#/components/schemas/GeographicCoordinates'
    UpdatedGeographicCoordinates:
      type: object
      description: >-
        Geographic coordinates which contains also contextual information about
        applied updates.
      allOf:
        - $ref: '#/components/schemas/GeographicCoordinates'
        - type: object
          description: Update assessment for geographic coordinates.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/GeographicCoordinatesUpdateAssessment'
    UpdatedAddress:
      type: object
      description: >-
        An address provides information about the physical location of a
        business partner. It can be specialized in a certain context(e.g.
        delivery address or invoice address).
      properties:
        updateAssessment:
          $ref: '#/components/schemas/AddressUpdateAssessment'
        version:
          $ref: '#/components/schemas/AddressVersion'
        identifyingName:
          $ref: '#/components/schemas/AddressIdentifyingName'
        externalId:
          $ref: '#/components/schemas/AddressExternalId'
        metadata:
          $ref: '#/components/schemas/AddressMetadata'
        careOf:
          $ref: '#/components/schemas/CareOf'
        contexts:
          type: array
          items:
            $ref: '#/components/schemas/AddressContext'
        country:
          $ref: '#/components/schemas/UpdatedCountry'
        administrativeAreas:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedAdministrativeArea'
        postCodes:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedPostCode'
        localities:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedLocality'
        thoroughfares:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedThoroughfare'
        premises:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedPremise'
        postalDeliveryPoints:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedPostalDeliveryPoint'
        openingHours:
          type: array
          items:
            $ref: '#/components/schemas/OpeningHour'
        geographicCoordinates:
          $ref: '#/components/schemas/UpdatedGeographicCoordinates'
        types:
          type: array
          items:
            $ref: '#/components/schemas/AddressType'
    RelationUpdateAssessment:
      type: object
      description: Update assessment for a relation.
      allOf:
        - $ref: '#/components/schemas/UpdateAssessment'
        - type: object
          description: Relation before applied update.
          properties:
            before:
              $ref: '#/components/schemas/BusinessPartnerRelation'
    UpdatedRelation:
      type: object
      description: >-
        A relation which contains also contextual information about applied
        updates.
      allOf:
        - $ref: '#/components/schemas/BusinessPartnerRelation'
        - type: object
          description: Update assessment for a relation.
          properties:
            updateAssessment:
              $ref: '#/components/schemas/RelationUpdateAssessment'
    UpdatedBusinessPartner:
      type: object
      description: >-
        A business partner which contains also contextual information about
        applied updates.
      properties:
        summary:
          $ref: '#/components/schemas/UpdateSummary'
        names:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedName'
        legalForm:
          $ref: '#/components/schemas/UpdatedLegalForm'
        identifiers:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedIdentifier'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedBusinessPartnerCategory'
        status:
          $ref: '#/components/schemas/UpdatedBusinessPartnerStatus'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedAddress'
        externalId:
          $ref: '#/components/schemas/BusinessPartnerExternalId'
        profile:
          $ref: '#/components/schemas/PartnerProfile'
        formattedSapRecord:
          $ref: '#/components/schemas/FormattedSapRecord'
        relations:
          type: array
          items:
            $ref: '#/components/schemas/UpdatedRelation'
        bankAccounts:
          type: array
          items:
            $ref: '#/components/schemas/BankAccount'
        types:
          type: array
          items:
            $ref: '#/components/schemas/BusinessPartnerType'
        externalContext:
          $ref: '#/components/schemas/ExternalContext'
    ApiErrorTimestamp:
      type: string
      deprecated: true
      description: ISO 8601 representation of the timestamp.
      example: 2019-08-31T16:47+00:00
    HttpError:
      type: string
      description: RFC 7231 error which belongs to the status code.
      example: BAD_REQUEST
      deprecated: true
    ApiErrorMessage:
      type: string
      deprecated: true
      description: Details about the error.
      example: This user is not allowed to access this service.
    HttpPath:
      type: string
      description: Requested path which caused this error.
      example: /v2/businesspartners/lookup
