{
  "version": 1,
  "purpose": "Prepare an accommodation enquiry for a human to review and submit. This is a handoff, not a submission API.",
  "contact_routes": { "en": "/contact/", "es": "/es/contact/", "ca": "/ca/contact/" },
  "method": "Open the contact page with stay details in its query string and optional personal details in its URL fragment.",
  "query_fields": {
    "apartment": "An existing apartment slug, such as suite-alba, suite-laia or suite-prestige.",
    "checkin": "Requested arrival, YYYY-MM-DD.",
    "checkout": "Requested departure, YYYY-MM-DD.",
    "adults": "Positive integer; total guests must fit the apartment.",
    "children": "Nonnegative integer; total guests must fit the apartment."
  },
  "fragment": {
    "format": "#draft=<unpadded base64url of UTF-8 JSON>",
    "maximum_encoded_characters": 12000,
    "fields": {
      "name": { "type": "string", "optional": true, "maximum_characters": 100 },
      "email": { "type": "string", "optional": true, "maximum_characters": 254 },
      "phone": { "type": "string", "optional": true, "maximum_characters": 50 },
      "message": { "type": "string", "optional": true, "maximum_characters": 5000 }
    },
    "validation": "Limits count UTF-16 code units. Unknown fields are ignored. Control characters are forbidden except carriage return and line feed in message. Invalid drafts cannot be submitted.",
    "example_json": { "name": "Guest", "message": "Please confirm availability." },
    "example_url": "/contact/?apartment=suite-alba&checkin=2027-03-01&checkout=2027-04-05&adults=2&children=0#draft=eyJuYW1lIjoiR3Vlc3QiLCJtZXNzYWdlIjoiUGxlYXNlIGNvbmZpcm0gYXZhaWxhYmlsaXR5LiJ9"
  },
  "human_handoff": [
    "Prepare details only with the human's permission. Never put name, email, phone or message in query parameters.",
    "The private review link contains draft personal data. Share it only with the human, never in public logs or posts. The page removes the fragment on arrival; this cannot erase copies held elsewhere.",
    "The human must review and correct all details, check the approval checkbox, complete the ordinary security check and personally press Send.",
    "Never submit automatically, check the approval checkbox for the human, or bypass Turnstile or other anti-abuse controls.",
    "Creating or opening a review link does not send an enquiry and does not reserve accommodation. Do not tell the human that anything was sent until the page confirms successful submission.",
    "Use the matching locale's relative contact route. Availability, prices and monthly-stay restrictions are confirmed through the normal enquiry process."
  ]
}
