{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/yelp/json-schema/yelp-update-schema.json",
  "title": "Update",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/yelp-data-ingestion-api-openapi.yml#/components/schemas/Update",
  "type": "object",
  "properties": {
    "about_this_business_history": {
      "type": "string",
      "description": "The history of the business. Minimum length is 15, maximum is 1,000; URLs, all caps, and HTML tags are not allowed."
    },
    "service_type_v2": {
      "type": "object",
      "description": "Reservation configuration for the business. Required for partners providing reservation availability.",
      "properties": {
        "active": {
          "type": "boolean",
          "description": "Whether this business is active for reservations. Set to false to remove from Yelp."
        },
        "service_type": {
          "type": "string",
          "enum": [
            "restaurant_reservation"
          ],
          "description": "Type of service. Currently only \"restaurant_reservation\" is supported."
        },
        "restaurant_reservation": {
          "type": "object",
          "description": "Restaurant reservation configuration.",
          "properties": {
            "party_min": {
              "type": "integer",
              "minimum": 1,
              "description": "Minimum party size accepted."
            },
            "party_max": {
              "type": "integer",
              "minimum": 1,
              "description": "Maximum party size accepted."
            },
            "advance_booking_days": {
              "type": "integer",
              "minimum": 1,
              "maximum": 365,
              "description": "How many days in advance reservations are accepted."
            },
            "min_notice_hours": {
              "type": "integer",
              "minimum": 0,
              "maximum": 72,
              "description": "Minimum lead time in hours before a slot can be booked."
            },
            "scheduled_days": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "monday",
                  "tuesday",
                  "wednesday",
                  "thursday",
                  "friday",
                  "saturday",
                  "sunday"
                ]
              },
              "description": "Days of the week the restaurant accepts reservations."
            },
            "services": {
              "type": "array",
              "minItems": 1,
              "description": "Dining services offered. Use service_id \"default\" for standard dining.",
              "items": {
                "type": "object",
                "properties": {
                  "service_id": {
                    "type": "string",
                    "description": "Stable identifier for the service."
                  },
                  "name": {
                    "type": "string",
                    "description": "Display name for the service."
                  }
                },
                "required": [
                  "service_id",
                  "name"
                ]
              }
            },
            "seating_areas": {
              "type": "array",
              "description": "Seating areas available at this venue.",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Unique identifier for this seating area."
                  },
                  "name": {
                    "type": "string",
                    "description": "Display name (e.g., \"Patio\")."
                  },
                  "max_party_size": {
                    "type": "integer",
                    "description": "Maximum covers for this area."
                  }
                },
                "required": [
                  "id",
                  "name",
                  "max_party_size"
                ]
              }
            },
            "credit_card_policies": {
              "type": "array",
              "description": "Credit card hold/deposit policies. Leave empty if none required.",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Policy identifier referenced by availability slots."
                  }
                },
                "required": [
                  "id"
                ]
              }
            }
          },
          "required": [
            "party_min",
            "party_max",
            "advance_booking_days",
            "min_notice_hours",
            "scheduled_days",
            "services",
            "seating_areas"
          ]
        }
      },
      "required": [
        "active",
        "service_type",
        "restaurant_reservation"
      ]
    }
  }
}