$id: https://schema.beckn.io/Offer/v2.1 $schema: https://json-schema.org/draft/2020-12/schema description: Schema definition for Offer in the Beckn Protocol v2.0.1 title: Offer type: object properties: '@context': description: JSON-LD context URI for the core offer schema type: string format: uri const: https://schema.beckn.io/ '@type': description: TPD type: string enum: - Offer x-jsonld: '@id': schema:Offer acceptedPaymentMethod: $ref: https://schema.beckn.io/AcceptedPaymentMethod/v2.0 addOnItems: description: Optional extras modeled as items (e.g., toppings, accessories) type: array items: $ref: https://schema.beckn.io/Item/v2.1#/properties/id x-jsonld: '@id': schema:addOn addOns: description: Optional extra Offers that can be attached (e.g., warranty, gift wrap) type: array items: $ref: https://schema.beckn.io/Offer/v2.1#/properties/id x-jsonld: '@id': schema:addOn constraints: type: array items: $ref: https://schema.beckn.io/Constraint/v2.0 descriptor: $ref: https://schema.beckn.io/Descriptor/v2.1 eligibleRegion: description: Regions where the offer is eligible type: array items: $ref: https://schema.beckn.io/Location/v2.0 id: description: Unique id for this offer type: string x-jsonld: '@id': schema:identifier isActive: description: Whether the offer is active type: boolean default: true items: description: Base item(s) the offer applies to (single or bundle) type: array items: $ref: https://schema.beckn.io/Item/v2.1#/properties/id x-jsonld: '@id': schema:itemOffered minItems: 1 offerAttributes: description: Attribute Pack attachment (pricing models, discounts, rail terms, etc.) $ref: https://schema.beckn.io/Attributes/v2.0 policies: type: array items: $ref: https://schema.beckn.io/Policy/v2.0 price: description: Price snapshot; detailed models can live in offerAttributes x-jsonld: '@id': schema:priceSpecification $ref: https://schema.beckn.io/PriceSpecification/v2.1 provider: description: Seller / provider of this offer x-jsonld: '@id': schema:seller $ref: https://schema.beckn.io/Provider/v2.1#/properties/id validity: description: Offer validity window x-jsonld: '@id': schema:availabilityStarts|schema:availabilityEnds $ref: https://schema.beckn.io/TimePeriod/v2.1 required: - '@context' - '@type' - id - descriptor - provider - items additionalProperties: false x-tags: - common