# La Ñapa reservations app ## Catering inquiries - [Catering catalog](/catering-agent-catalog.json): seven menus, guest rules, pricing context and inquiry API contract. - [Inquiry endpoint](/api/catering-inquiry): POST application/json; same origin as this document. GET is not a submission method. - [Discovery pointer](/.well-known/catering.json): custom pointer, not UCP. - [Human catering menus](https://lanapamarket.com/pages/catering). Required fields: name, email, menu, event_type, event_date (YYYY-MM-DD), guests (integer). Use the catalog menu id or exact name. Sides additionally require main_menu. Optional: phone, venue, address, pickup_or_delivery (pickup/delivery/undecided), budget (text), items, notes. Use items for the requested food and drink selections: 1–50 entries, each with name (nonempty, max 120 characters), quantity (integer 1–10000), unit (nonempty, max 40 characters, e.g. tacos/trays/boxes), and optional notes (nonempty, max 500 characters). Item text must be single-line; unknown item fields are rejected. Example: "items": [{"name":"Chicken tacos","quantity":40,"unit":"tacos","notes":"Sauce on the side"},{"name":"Mushroom tacos","quantity":20,"unit":"tacos"}]. Items remain optional for general inquiries and older clients. Item selections, quantities, availability and prices need staff confirmation; no order is created. Omit website or set it to an empty string. Maximum JSON body: 16 KiB. Obtain customer authorization before sending their personal/event details. Include a unique Idempotency-Key (16–128 letters, digits, underscores or hyphens), and reuse it with identical JSON on retries. Provider deduplication lasts 24 hours. Limits: 10 requests/IP/hour and 3 valid inquiries/email/hour. Respect Retry-After. HTTP 200 includes id and status=received: forwarding was accepted by the email provider, not proof of inbox delivery, event availability, booking or payment. La Ñapa reviews availability, menu, dietary handling, logistics and final terms before providing payment instructions. No customer auto-reply is sent. No Shopify CAPTCHA token is needed here; human Shopify forms are unchanged. If the service is unavailable, share the human menu/contact route with the customer.