{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/provecart-com/json-schema/provecart-com-reservation-mandate-in-schema.json",
  "title": "ReservationMandateIn",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/provecart-com-openapi.json#/components/schemas/ReservationMandateIn",
  "properties": {
    "user_id": {
      "type": "string",
      "title": "User Id"
    },
    "service_description": {
      "type": "string",
      "title": "Service Description"
    },
    "provider_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Provider Name"
    },
    "location": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Location"
    },
    "location_exact": {
      "type": "boolean",
      "title": "Location Exact",
      "default": false
    },
    "date": {
      "type": "string",
      "title": "Date"
    },
    "time": {
      "type": "string",
      "title": "Time"
    },
    "time_tolerance_minutes": {
      "type": "integer",
      "title": "Time Tolerance Minutes",
      "default": 0
    },
    "party_size": {
      "type": "integer",
      "title": "Party Size"
    },
    "party_size_max": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Party Size Max"
    },
    "name_on_reservation": {
      "type": "string",
      "title": "Name On Reservation"
    },
    "max_deposit": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Max Deposit"
    },
    "max_total_price": {
      "type": "number",
      "title": "Max Total Price"
    },
    "currency": {
      "type": "string",
      "title": "Currency",
      "default": "USD"
    },
    "cancellation": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cancellation"
    },
    "merchant_allowlist": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Merchant Allowlist"
    },
    "merchant_blocklist": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Merchant Blocklist"
    },
    "expires_at": {
      "type": "string",
      "title": "Expires At"
    }
  },
  "type": "object",
  "required": [
    "user_id",
    "service_description",
    "date",
    "time",
    "party_size",
    "name_on_reservation",
    "max_total_price",
    "expires_at"
  ]
}