Spotnana Companies API

APIs to onboard and manage company.

OpenAPI Specification

spotnana-companies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Air Companies API
  version: v2
  description: APIs to perform search, checkout and book an air pnr
servers:
- url: https://api-ext-sboxmeta.partners.spotnana.com
  description: Sandbox URL
security:
- Bearer: []
tags:
- name: Companies
  description: APIs to onboard and manage company.
paths:
  /v2/companies:
    post:
      tags:
      - Companies
      summary: Create company
      description: This endpoint creates a company. This is allowed only by TMC_ADMIN and above roles.
      operationId: createCompany
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCompanyRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityId'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
    get:
      tags:
      - Companies
      summary: List companies
      description: "This endpoint lists companies. If externalId is provided in query param, only the company having \nthe specified external ID is returned.\n"
      operationId: listCompanies
      parameters:
      - name: externalId
        in: query
        description: External id of the entity.
        required: false
        schema:
          type: string
        example: my-external-id
      - name: companyRole
        in: query
        description: Filter by a particular role
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/CompanyRole'
        example: ORG
      - name: companyIds
        in: query
        description: Filter by a list of companies
        required: false
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: contractingTmcIds
        in: query
        description: Filter by contracting TMCs
        required: false
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: bookingTmcIds
        in: query
        description: Filter by booking TMCs
        required: false
        schema:
          type: array
          items:
            type: string
            format: uuid
      - name: offset
        in: query
        description: Indicates the start index to read companies from the server.
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: limit
        in: query
        description: Maximum number of results to be fetched.
        schema:
          type: integer
          default: 100
          minimum: 0
          maximum: 100
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArrayOfReference'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /v2/companies/{companyId}:
    get:
      tags:
      - Companies
      summary: Get company
      description: This endpoint gets a company by ID.
      operationId: readCompany
      parameters:
      - name: companyId
        in: path
        description: Identifier for company. External id can be supplied in `X` prefixed form. For instance, if external_id = abc, then Xabc, has to be passed.
        required: true
        schema:
          type: string
        example: 4974a66b-7493-4f41-908c-58ba81093947
      - in: header
        name: x-application-id
        schema:
          type: string
          format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Companies
      summary: Update company
      operationId: updateCompany
      description: This endpoint updates a company by ID.
      parameters:
      - name: companyId
        in: path
        description: Identifier for company.
        required: true
        schema:
          type: string
          format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Company'
      responses:
        '204':
          description: Updated Successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete company
      description: This endpoint deletes a company by ID.
      operationId: deleteCompany
      parameters:
      - name: companyId
        in: path
        description: Identifier for company.
        required: true
        schema:
          type: string
          format: uuid
        example: 4974a66b-7493-4f41-908c-58ba81093947
      responses:
        '204':
          description: Deleted Successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/features:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    - in: header
      name: X-Application-Id
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    - name: companyRole
      in: query
      schema:
        $ref: '#/components/schemas/CompanyRole'
      example: TMC
    get:
      tags:
      - Companies
      summary: Get company features
      operationId: getCompanyFeatures
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureConfigs'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      tags:
      - Companies
      summary: Update Company Features
      operationId: updateCompanyFeaturesPatch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeaturesRequest'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/travel-content-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    get:
      tags:
      - Companies
      summary: Get company travel content config
      operationId: getCompanyTravelContentConfig
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TravelContentConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Companies
      summary: Update company travel content config
      operationId: updateCompanyTravelContentConfig
      requestBody:
        description: Travel content config of a given company
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TravelContentConfig'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete company travel content config
      operationId: deleteCompanyTravelContentConfig
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/white-label-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Updates white label config
      description: This endpoint stores white label config for the company at different entity levels.
      operationId: updateCompanyWhiteLabelConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WhiteLabelConfig'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Get white label config
      description: This endpoint fetches the white label config for the company.
      operationId: getCompanyWhiteLabelConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      - name: applicationId
        in: query
        required: false
        schema:
          type: string
          format: uuid
        example: 1234a66b-7493-4f41-908c-58ba81055667
        description: Application context to get white label config.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WhiteLabelConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete white label config
      description: This endpoint deletes the white label config for the company.
      operationId: deleteCompanyWhiteLabelConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/managers-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Updates company managers config
      description: This endpoint stores company managers config (account managers and customer success managers) for the company at different entity levels.
      operationId: updateCompanyManagersConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyManagersConfig'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Get company managers config
      description: This endpoint fetches the company managers config for the company.
      operationId: getCompanyManagersConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyManagersConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
      - Companies
      summary: Delete company managers config
      description: This endpoint deletes the company managers config for the company.
      operationId: deleteCompanyManagersConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: ORG
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/color-config:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Updates Color config
      description: This endpoint stores Color config for the company at some entity level.
      operationId: updateColorConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: TMC
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ColorConfig'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Get color config
      description: This endpoint fetches the color config for the given entity.
      operationId: getColorConfig
      parameters:
      - name: companyRole
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/CompanyRole'
        example: TMC
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColorConfig'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/vendor-preferences:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    post:
      tags:
      - Companies
      summary: Upload company vendor preferences csv file
      operationId: uploadCompanyPreferences
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadCompanyVendorPreferencesRequest'
      responses:
        '200':
          description: OK
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/companies/{companyId}/preference-tiers:
    parameters:
    - name: companyId
      in: path
      description: Identifier for company.
      required: true
      schema:
        type: string
        format: uuid
      example: 4974a66b-7493-4f41-908c-58ba81093947
    put:
      tags:
      - Companies
      summary: Store tier levels with labels
      description: This endpoint store the tiers with respective label for a company.
      operationId: storePreferenceTiers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StorePreferenceTiersRequest'
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
    get:
      tags:
      - Companies
      summary: Read company preference tiers
      description: Read all preference tiers with respective label for a company.
      operationId: listPreferenceTiers
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPreferenceTiersResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The specified resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    PrimaryServiceProviderTmc:
      type: object
      title: PrimaryServiceProviderTmc
      description: Primary service provider TMC info
      required:
      - tmcId
      properties:
        tmcId:
          $ref: '#/components/schemas/CompanyId'
          description: Id of the service provider TMC.
    ListPreferenceTiersResponse:
      type: object
      title: ListPreferenceTiers
      description: List of preference tiers
      required:
      - preferenceTiersPerBookingType
      properties:
        preferenceTiersPerBookingType:
          type: array
          description: List of preference tiers with respective labels for different booking types.
          items:
            $ref: '#/components/schemas/PreferenceTiersPerBookingType'
    ExpensePartnerConfig:
      type: object
      title: ExpensePartnerConfig
      description: Expense Partner Configuration
      required:
      - partner
      properties:
        partner:
          $ref: '#/components/schemas/ExpensePartner'
        emailConfig:
          $ref: '#/components/schemas/EmailConfig'
        travelType:
          type: array
          description: Applicable segments
          items:
            $ref: '#/components/schemas/TravelType'
        isExpensePartnerEnabled:
          type: boolean
          description: A flag denoting is the expense partner config is enabled or not.
          default: true
          example: true
        reportCustomFields:
          type: boolean
          description: Send custom fields to the expense partner if enabled.
          example: true
        personalCardExpenseOwner:
          $ref: '#/components/schemas/ExpenseOwner'
        centralCardExpenseOwner:
          $ref: '#/components/schemas/ExpenseOwner'
        partnerReferralId:
          type: string
          description: Referral id used for this company/legal entity during expense partner setup
          example: 1234hgd
        itineraryConfig:
          $ref: '#/components/schemas/ItineraryConfig'
    Company:
      type: object
      title: Company
      description: Company information.
      required:
      - id
      - name
      - billingCurrency
      - companyRoles
      properties:
        id:
          $ref: '#/components/schemas/CompanyId'
        name:
          type: string
          description: Company name
          example: Spotnana
        emailDomains:
          type: array
          description: List of the company email domains
          uniqueItems: true
          items:
            type: string
            example: spotnana.com
        billingCurrency:
          type: string
          description: Billing currency of the company
          example: INR
        phoneNumbers:
          type: array
          description: List of company phone numbers
          items:
            $ref: '#/components/schemas/PhoneNumber'
        emergencyContactInfos:
          type: array
          description: List of company emergency contacts
          items:
            $ref: '#/components/schemas/EmergencyContactInfo'
        isSelfSignUpEnabled:
          type: boolean
          description: Boolean to show if company has self sign up enabled.
          example: true
        announcements:
          type: array
          description: Company announcements
          items:
            $ref: '#/components/schemas/Announcement'
        companyLogo:
          $ref: '#/components/schemas/Image'
          description: Company logo
        contractedBy:
          $ref: '#/components/schemas/CompanyId'
          description: Company ID which have contracted this company.
        isActive:
          type: boolean
          description: Boolean to show if this is an active company.
        companyRoles:
          type: array
          description: Company roles
          items:
            $ref: '#/components/schemas/CompanyRole'
        supportConfig:
          $ref: '#/components/schemas/SupportConfig'
          description: Support Configuration for company
          deprecated: true
          x-sunset: '2026-07-01'
        ccEmailAddresses:
          type: array
          description: List of email addresses on which all confirmation emails will be cced. This is applicable only for company roles 'ORG'
          items:
            type: string
            example: example@gmail.com
        bccEmailAddresses:
          type: array
          description: List of email addresses on which all confirmation emails will be bcced. This is applicable only for company roles 'ORG'
          items:
            type: string
            example: example@gmail.com
        connectors:
          type: array
          description: Connectors related to company.
          items:
            $ref: '#/components/schemas/Connector'
        postalAddress:
          $ref: '#/components/schemas/PostalAddress'
          description: Postal address of the company.
        redirectUrl:
          type: string
          description: Redirect URL for the company. It is applicable only for company roles 'PARTNER_TMC'
        rewardsProgram:
          $ref: '#/components/schemas/RewardsProgram'
          description: Reward Program corresponding to partner. It is applicable only for company roles 'PARTNER_TMC'.
          deprecated: true
          x-sunset: '2026-07-01'
        tmcDefaultConfiguration:
          $ref: '#/components/schemas/TmcDefaultConfiguration'
          description: Default Booking configuration for the TMC. It is applicable only for company roles 'TMC'
        expensePartnerConfig:
          $ref: '#/components/schemas/ExpensePartnerConfig'
        mobileRedirectUrl:
          type: string
          description: Redirect URL for the company for mobile. It is applicable only for company roles 'PARTNER_TMC'
        applicableCustomFieldTypes:
          type: array
          description: List of custom fields supported by the company.
          items:
            $ref: '#/components/schemas/CustomFieldType'
        oauthPartnerConfig:
          $ref: '#/components/schemas/OAuthPartnerConfig'
        privacySettings:
          $ref: '#/components/schemas/PrivacySettings'
        designationTree:
          $ref: '#/components/schemas/DesignationNode'
          description: Designation tree for company showing who reports whom.
        externalId:
          type: string
          description: External id to be linked with this.
          example: MyCompanyId
        emailClientConfig:
          $ref: '#/components/schemas/EmailClientConfig'
          description: Email client configuration representing the email provider to be used.
        isFake:
          type: boolean
          description: Whether the company is a fake company for testing. This is for internal use.
          default: false
          example: false
        tmcPartnerRoleMappings:
          type: array
          description: list of individual role mappings between spotnana and partner.
          items:
            $ref: '#/components/schemas/TmcPartnerRoleMapping'
        supportConfigs:
          $ref: '#/components/schemas/SupportConfigs'
        loyaltyBlockedCountries:
          type: array
          items:
            type: string
          description: List of 2 letter country codes where business travelers should not be allowed to add loyalty info.
          example:
          - US
          - IN
        allowDomainBasedAuthConfig:
          type: boolean
          default: false
          description: Whether to allow user to get auth config based on email domain
        carbonCostConfig:
          $ref: '#/components/schemas/CarbonCostConfig'
          description: The config is used to calculate carbon cost of CO2 emission.
        defaultBookingTmcId:
          description: Default booking TMC id. For PARTNER_TMC companies only.
          $ref: '#/components/schemas/CompanyId'
        bookingTmcId:
          description: Booking TMC ID for the company. Applicable for ORG role companies.
          $ref: '#/components/schemas/CompanyId'
        companySpecifiedAttributes:
          type: array
          items:
            $ref: '#/components/schemas/CompanySpecifiedAttributeCompany'
          description: Company-specified custom attributes.
    TmcDefaultConfiguration:
      type: object
      title: TmcDefaultConfiguration
      description: Default TMC configuration.
      properties:
        defaultBookingTmcId:
          type: string
          format: uuid
          description: Default booking TMC to be used. If not set, then TMC itself will be default booking tmc.
          example: 734f4ea2-e9ed-4c90-853c-9eed62f1254b
        countryWiseBookingTmcs:
          type: array
          description: Override for booking TMCs per country.
          items:
            type: object
            title: CountryWiseBookingTmcs
            required:
            - countryCode
            - bookingTmcId
            properties:
              countryCode:
                type: string
                example: US
                description: The ISO 2-character country code for which booking TMCs needs to be overriden.
              bookingTmcId:
                type: string
                format: uuid
                description: Booking TMC for above country code.
                example: 734f4ea2-e9ed-4c90-853c-9eed62f1254b
    VerifierDetails:
      type: object
      title: VerifierDetails
      oneOf:
      - $ref: '#/components/schemas/OktaJwtVerifierWrapper'
    FareCategoryFilterConfig:
      type: object
      title: FareCategoryFilterConfig
      description: Air fare category filter
      required:
      - priority
      - origin
      - destination
      - fareCategoryOption
      properties:
        priority:
          type: integer
          description: priority of this filter in case multiple filters are applicable
          example: 1
        origin:
          description: origin for which this filter will be valid (* for all origins)
          $ref: '#/components/schemas/LocationItem'
        destination:
          description: destination for which this filter will be valid (* for all destinations)
          $ref: '#/components/schemas/LocationItem'
        fareCategoryOption:
          type: array
          items:
            $ref: '#/components/schemas/FareCategoryOptionConfig'
    Money:
      type: object
      title: Money
      description: 'Money object containing details such as the amount, the currency code, and the converted amount.

        '
      required:
      - amount
      - currencyCode
      properties:
        amount:
          type: number
          format: double
          description: The numeric value for the amount of money.
          example: 510
        currencyCode:
          type: string
          description: The 3-letter currency code for the money amount (defined using ISO 4217 standard).
          example: GBP
        convertedAmount:
          type: number
          format: double
          description: 'The converted currency and amount that has been converted (if a currency conversion has been requested).

            For example, if the call requests that money be sent in a specified currency (because the frontend requested

            the backend to send money in the user''s preferred currency).

            '
          example: 715.42
        convertedCurrency:
          type: string
          description: The 3-letter currency code for the converted currency (defined using ISO 4217 standard).
          example: USD
        otherCoinage:
          type: array
          title: OtherCoinage
          description: List of the dollar amount in other coinage systems like reward points, cryptocurrency etc.
          items:
            type: object
            properties:
              coinageCode:
                $ref: '#/components/schemas/PaymentMethod'
                description: Payment method
              amount:
                type: number
                format: double
                example: 1000
              conversionRate:
                type: number
                format: double
                description: 1 coin in this system equals to how many currency value
                example: 0.01
              preferredCurrencyConversionRate:
                type: number
                format: double
                description: 1 coin in this system equals to how many currency value
                example: 0.01
              otherCoinageMetadata:
                description: Metadata to store additional information related to the payment method
                discriminator:
                  propertyName: metadataType
                  mapping:
                    FlightPassPaymentMetadata: '#/components/schemas/FlightPassPaymentMetadataWrapper'
                one

# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/spotnana/refs/heads/main/openapi/spotnana-companies-api-openapi.yml