openapi: 3.1.1 info: title: Offer version: 2.1.0 description: "Container schemas fetched from beckn.yaml. This cannot be extended as it is a reserved schema in beckn protocol. Any additional properties added to this schema can only be made using its *Attributes property" license: name: CC-BY-NC-SA 4.0 International contact: name: Beckn Labs url: https://beckn.io components: schemas: Offer: type: object description: "A generalized, cross-domain Offer that captures the terms under\ \ which one or more Resources may be committed. Core intent: - Support\ \ multiple terms/eligibility/constraints/price points for the same Resource(s) \ - Support dynamic / on-the-fly offers (e.g., bundling, combinational discounts, \ \ eligibility changes, capacity-aware pricing) This mirrors the role of\ \ Offer in current Beckn (and schema.org patterns), but keeps the shape minimal\ \ and composable via `beckn:offerAttributes`." required: - id properties: id: type: string description: Unique identifier of the offer. descriptor: description: Human / agent-readable description of this offer. $ref: https://schema.beckn.io/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor provider: $ref: https://schema.beckn.io/Provider/v2.1/attributes.yaml#/components/schemas/Provider resourceIds: type: array description: References (IDs) to resources covered by this offer. items: $ref: '#/components/schemas/Resource/properties/id' addOns: type: array description: IDs of optional extra Offers or Resources that can be attached. items: $ref: https://schema.beckn.io/AddOn/v2.0/attributes.yaml#/components/schemas/AddOn considerationIds: type: array items: $ref: '#/components/schemas/Consideration/properties/id' fulfillmentIds: description: Details regarding the fulfillment of this offer $ref: https://schema.beckn.io/Consideration/v2.0/attributes.yaml#/components/schemas/Consideration validity: $ref: https://schema.beckn.io/TimePeriod/v2.1/attributes.yaml#/components/schemas/TimePeriod availableTo: type: array description: 'Optional visibility constraint indicating which network participants (by participantId / networkId / role) are allowed to discover or transact on this entity. If omitted, the entity is assumed to be visible to all participants in the addressed network(s).' items: type: object required: - type - id properties: type: type: string enum: - NETWORK - PARTICIPANT - ROLE description: Scope of visibility constraint. id: type: string description: Identifier of the network, participant, or role. offerAttributes: $ref: https://schema.beckn.io/Attributes/v2.0/attributes.yaml#/components/schemas/Attributes