{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/cervejabarata-com-br/json-schema/cervejabarata-com-br-bar-owner-request-schema.json",
  "title": "BarOwnerRequest",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/cervejabarata-com-br-openapi.json#/components/schemas/BarOwnerRequest",
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
    },
    "bar": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "The bar, as written"
    },
    "venue": {
      "type": "string",
      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      "description": "The bar's slug, when the form came from its page"
    },
    "topic": {
      "type": "string",
      "enum": [
        "sponsor",
        "prices",
        "correction",
        "removal",
        "other"
      ]
    },
    "message": {
      "type": "string",
      "maxLength": 1000
    },
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80,
      "description": "Who to ask for"
    },
    "contact": {
      "type": "string",
      "minLength": 5,
      "maxLength": 120,
      "description": "WhatsApp, phone or email to reply to; deleted after 90 days"
    },
    "consent": {
      "type": "boolean",
      "enum": [
        true
      ],
      "description": "LGPD consent to be contacted about this request"
    },
    "turnstile": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "Cloudflare Turnstile token"
    }
  },
  "required": [
    "city",
    "bar",
    "topic",
    "contact",
    "consent",
    "turnstile"
  ],
  "additionalProperties": false
}