openapi: 3.1.1
info:
  title: PriceComponent
  version: 2.2.0
  description: A single line item within a PriceSpecification breakup, optionally enriched with a JSON-LD componentAttributes bag describing its rationale, calculation, and terms.
  license:
    name: CC-BY-NC-SA 4.0 International
  contact:
    name: Beckn Labs
    url: https://beckn.io
components:
  schemas:
    PriceComponent:
      x-iri: https://schema.nfh.global/PriceComponent/v2.2
      title: PriceComponent
      description: A single line item within a PriceSpecification breakup, such as a base charge, tax, delivery cost, discount, fee, or surcharge. Beyond the monetary amount, a PriceComponent MAY carry a JSON-LD componentAttributes bag that richly describes why the component applies, how it is calculated, and any governing terms. This lets a receiving node render or act on the line without performing any price computation of its own.
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          description: The nature of this price component.
          enum:
          - UNIT
          - RENTAL
          - USAGE
          - OVERAGE
          - TAX
          - WITHHOLDING_TAX
          - DELIVERY
          - HANDLING_FEE
          - PACKAGING_FEE
          - INSTALLATION_FEE
          - FUEL_SURCHARGE
          - TOLL
          - WAITING_CHARGE
          - FEE
          - SERVICE_FEE
          - SERVICE_CHARGE
          - PROCESSING_FEE
          - CONVENIENCE_FEE
          - PLATFORM_FEE
          - BOOKING_FEE
          - SETUP_FEE
          - MEMBERSHIP_FEE
          - SUBSCRIPTION_FEE
          - COMMISSION
          - FOREIGN_TRANSACTION_FEE
          - MINIMUM_ORDER_FEE
          - REGULATORY_FEE
          - ENVIRONMENTAL_FEE
          - SURCHARGE
          - SURGE
          - COVER_CHARGE
          - PENALTY
          - CANCELLATION_FEE
          - LATE_FEE
          - NO_SHOW_FEE
          - DISCOUNT
          - PROMOTION
          - COUPON
          - VOUCHER
          - CASHBACK
          - LOYALTY_REDEMPTION
          - CREDIT
          - REFUND
          - DEPOSIT_REFUNDABLE
          - DEPOSIT_NON_REFUNDABLE
          - ADVANCE
          - DOWN_PAYMENT
          - PRINCIPAL
          - INTEREST
          - INSTALLMENT
          - TRANCHE
          - CARRY_FORWARD
          - WALLET
          - CHARGEBACK
          - SETTLEMENT
          - INSURANCE
          - WARRANTY
          - TIP
          - DONATION
          - ROUNDING
          - ADJUSTMENT
          - SUBTOTAL
          - TOTAL
          - OTHER
        value:
          type: number
          description: Monetary amount of this component, expressed in currency.
        currency:
          type: string
          description: ISO 4217 currency code for value.
        description:
          type: string
          description: Human-readable label for this component.
        componentAttributes:
          description: JSON-LD aware container describing the rationale, calculation basis, and governing terms of this price component (for example a SurgeMultiplier, a FareLegRule with TariffZones, or a tax jurisdiction). MUST include @context and @type.
          $ref: https://schema.nfh.global/Attributes/v2.0/attributes.yaml#/components/schemas/Attributes
      x-jsonld:
        '@id': beckn:PriceComponent
      x-tags:
      - common
