openapi: 3.1.1 info: title: Contract version: 2.0.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: Contract: type: object description: "This is a JSON-LD compliant, linked-data schema that specifies\ \ a generic multi-party, digitally signed Contract between a set of participants.\ \ based on the vocabulary defined in the @context. By default, it is the most\ \ generic form of contract i.e beckn:Contract. However, based on the mapping\ \ being used in @context, it could take values like retail:Order, mobility:Reservation,\ \ healthcare:Appointment, and so on, which will be defined as sub-classes\ \ of beckn:Contract. Alternate description A digitally agreed commitment\ \ between two or more participants governing the exchange of economic or\ \ non-economic value. Contract is the canonical contract object in the\ \ generalized Beckn v2.1 protocol. It replaces the commerce-specific Order\ \ construct as the canonical transaction object at the API layer. A Contract\ \ binds: - Commitments (what is agreed) - Consideration (value promised) \ \ - Performance (how execution occurs) - Settlements (how consideration\ \ is discharged) The model is domain-neutral and supports commerce, hiring, \ energy markets, carbon exchanges, data access, mobility, subscriptions, and\ \ other use cases." title: Contract properties: id: description: A UUID string generated at the BPP endpoint at any stage before the confirmation of the order i.e before `/on_confirm` callback. This value is intended typically for indexing or filtering. While the chances of a UUID collision are rare, it is recommended to use a combination of `bppId`, `providerId` and `id` to allow for global uniqueness. type: string format: uuid descriptor: description: Describes the nature of the contract in human / agent readable terms $ref: https://schema.beckn.io/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor commitments: type: array description: Structured commitments governed by this contract. minItems: 1 items: $ref: https://schema.beckn.io/Commitment/v2.0/attributes.yaml#/components/schemas/Commitment consideration: type: array description: Value agreed to be exchanged under this contract. items: $ref: https://schema.beckn.io/Consideration/v2.0/attributes.yaml#/components/schemas/Consideration participants: description: 'The participants involved in the contract. Contracts are not always between two individuals. Several entities may play a specific role in the creation, fulfillment, and post-fulfillment of the contract.' type: array items: $ref: https://schema.beckn.io/Participant/v2.0/attributes.yaml#/components/schemas/Participant performance: type: array description: "Execution units of the contract. Performance is the generalized\ \ fulfillment abstraction. Each Performance instance represents a structured\ \ execution plan or delivery mechanism, including: - Physical delivery \ \ - Service provisioning - API access - Subscription activation \ \ - Carbon credit transfer - Capacity allocation - Workforce onboarding \ Tracking and Support interactions may be linked to individual Performance\ \ units." items: $ref: https://schema.beckn.io/Performance/v2.0/attributes.yaml#/components/schemas/Performance settlements: type: array description: Records representing discharge of agreed consideration. items: $ref: https://schema.beckn.io/Settlement/v2.0/attributes.yaml#/components/schemas/Settlement status: description: The current state of the contract expressed as a Descriptor whose code MUST be one of the standard contract state values. allOf: - $ref: https://schema.beckn.io/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor - type: object properties: code: enum: - DRAFT - ACTIVE - CANCELLED - COMPLETE contractAttributes: description: Domain-specific extension attributes for this contract. allOf: - $ref: https://schema.beckn.io/Attributes/v2.0/attributes.yaml#/components/schemas/Attributes - {} - properties: {} additionalProperties: false required: - commitments