openapi: 3.1.0
info:
  title: BookingRule
  version: 2.0.0
  description: Schema definition for the BookingRule entity in the Beckn Mobility
  license:
    name: CC-BY-NC-SA 4.0 International
    url: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en
  contact:
    name: Beckn Labs
    url: https://beckn.io
components:
  schemas:
    BookingRule:
      x-iri: https://schema.nfh.global/BookingRule/v2.0
      type: object
      title: BookingRule
      description: A set of rules governing how and when a demand-responsive transport
        service must be booked in advance.
      x-tags:
        - mobility
        - ride-hailing
      properties:
        latestBookingTime:
          description: Latest time before departure that a booking can be made
          type: string
        earliestBookingTime:
          description: Earliest time before departure that a booking can be made
          type: string
        priorNoticeDurationMin:
          description: Minimum advance notice in minutes required for booking
          type: number
        priorNoticeStartDay:
          description: Earliest day before service when booking opens
          type: number
        priorNoticeStartTime:
          description: Time of day on the start day when booking opens
          type: string
        message:
          description: Customer-facing message about booking requirements
          type: string
        phoneNumber:
          description: Phone number to call for booking
          type: string
        url:
          description: URL to booking interface
          type: string
          format: uri
        id:
          description: Unique identifier for the policy
          type: string
        policyType:
          description: Type of policy (extensible term)
          type: string
        descriptor:
          description: Human-readable description of the policy
          $ref: https://schema.nfh.global/Descriptor/v2.0/attributes.yaml#/components/schemas/Descriptor
        validity:
          description: Validity window for this policy version
          $ref: https://schema.nfh.global/TimePeriod/v2.0/attributes.yaml#/components/schemas/TimePeriod
        policyAttributes:
          description: Extensible domain-specific policy attributes
          $ref: https://schema.nfh.global/Attributes/v2.0/attributes.yaml#/components/schemas/Attributes
      additionalProperties: false
