A catering order form from first inquiry to final headcount

Updated 2026-10-30

A catering request can arrive as a single line: "Lunch for the team on Thursday?" Then comes a week of messages about numbers, allergies and where the kettle is. I would send a link with my first reply and collect it all at once.

Before you quote

The client gives a name, company, contact details, event date, serving time and headcount. That is enough to see whether you can do it. The service style (drop off, setup, buffet with staff or plated) and the menu interests tell you what to propose.

While you plan

A delivery address and a setup question tell you when you can get into the building. An equipment list shows what to bring: plates, heating trays, tables. A dietary box asks how many guests are vegetarian, vegan or have allergies.

A client's AI could ask "How many guests, and when do you eat?" Then "Do you want drop off or full service?" Then "Are there allergies in the group?" It shows all answers and sends only after a yes. Learn about agent-fillable forms.

After the answers arrive

Download the CSV, sort by date and reply with a quote. For smaller orders, a food order form is lighter. For school canteens, see a school lunch order form. Add sweets with a cookie order form. More ideas: forms for restaurants and food businesses and forms for events.

Questions

Is this a booking or an inquiry?

It is an inquiry. Nothing is booked until you reply and agree the details. The form has no calendar, so check your own diary for the date before you confirm.

How do I plan quantities from the answers?

Use the headcount and the dietary split together. If the client says how many guests are vegetarian or have allergies, you can size those dishes first and the main menu second.

What should I ask on the follow-up call?

Ask about the budget, the venue kitchen and exact timings. The form keeps money out of it, so clients answer the easy questions first.

Try the form

Live demo ยท nothing is saved

Request catering for your event

Tell us about your event. We reply with a menu and a quote once we have read your answers.

What kind of service do you want? (required)
What would you like on the menu?
What do you need us to bring?

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Request catering for your event",
  "description": "Tell us about your event. We reply with a menu and a quote once we have read your answers.",
  "fields": [
    {
      "id": "contact_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "company_or_host",
      "label": "Company or host name",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "contact_email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "contact_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "event_date",
      "label": "Event date",
      "type": "date",
      "required": true
    },
    {
      "id": "event_start_time",
      "label": "When should the food be ready?",
      "type": "short_text",
      "max_length": 20
    },
    {
      "id": "headcount",
      "label": "How many people will eat?",
      "type": "number",
      "required": true,
      "min": 5,
      "max": 1000
    },
    {
      "id": "service_style",
      "label": "What kind of service do you want?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Drop off only",
        "Drop off with setup",
        "Buffet with staff",
        "Plated service"
      ]
    },
    {
      "id": "menu_interest",
      "label": "What would you like on the menu?",
      "type": "multi_choice",
      "options": [
        "Sandwiches and wraps",
        "Hot mains",
        "Salads",
        "Grazing boards",
        "Desserts",
        "Breakfast items",
        "Drinks"
      ]
    },
    {
      "id": "delivery_address",
      "label": "Where should we deliver?",
      "type": "short_text",
      "max_length": 250
    },
    {
      "id": "setup_access",
      "label": "When can we get into the building?",
      "type": "short_text",
      "max_length": 200
    },
    {
      "id": "dietary_split",
      "label": "How many guests are vegetarian, vegan or have allergies?",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "equipment_needed",
      "label": "What do you need us to bring?",
      "type": "multi_choice",
      "options": [
        "Plates and cutlery",
        "Serving dishes and utensils",
        "Heating trays",
        "Tables and linens",
        "Napkins and cups"
      ]
    },
    {
      "id": "extra_notes",
      "label": "Anything else we should know?",
      "type": "long_text",
      "max_length": 800
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Request catering for your event","description":"Tell us about your event. We reply with a menu and a quote once we have read your answers.","fields":[{"id":"contact_name","label":"Your name","type":"short_text","required":true,"max_length":120},{"id":"company_or_host","label":"Company or host name","type":"short_text","max_length":150},{"id":"contact_email","label":"Email","type":"email","required":true},{"id":"contact_phone","label":"Phone","type":"phone"},{"id":"event_date","label":"Event date","type":"date","required":true},{"id":"event_start_time","label":"When should the food be ready?","type":"short_text","max_length":20},{"id":"headcount","label":"How many people will eat?","type":"number","required":true,"min":5,"max":1000},{"id":"service_style","label":"What kind of service do you want?","type":"single_choice","required":true,"options":["Drop off only","Drop off with setup","Buffet with staff","Plated service"]},{"id":"menu_interest","label":"What would you like on the menu?","type":"multi_choice","options":["Sandwiches and wraps","Hot mains","Salads","Grazing boards","Desserts","Breakfast items","Drinks"]},{"id":"delivery_address","label":"Where should we deliver?","type":"short_text","max_length":250},{"id":"setup_access","label":"When can we get into the building?","type":"short_text","max_length":200},{"id":"dietary_split","label":"How many guests are vegetarian, vegan or have allergies?","type":"long_text","max_length":600},{"id":"equipment_needed","label":"What do you need us to bring?","type":"multi_choice","options":["Plates and cutlery","Serving dishes and utensils","Heating trays","Tables and linens","Napkins and cups"]},{"id":"extra_notes","label":"Anything else we should know?","type":"long_text","max_length":800}]}'

JSON definition

json
{
  "title": "Request catering for your event",
  "description": "Tell us about your event. We reply with a menu and a quote once we have read your answers.",
  "fields": [
    {
      "id": "contact_name",
      "label": "Your name",
      "type": "short_text",
      "required": true,
      "max_length": 120
    },
    {
      "id": "company_or_host",
      "label": "Company or host name",
      "type": "short_text",
      "max_length": 150
    },
    {
      "id": "contact_email",
      "label": "Email",
      "type": "email",
      "required": true
    },
    {
      "id": "contact_phone",
      "label": "Phone",
      "type": "phone"
    },
    {
      "id": "event_date",
      "label": "Event date",
      "type": "date",
      "required": true
    },
    {
      "id": "event_start_time",
      "label": "When should the food be ready?",
      "type": "short_text",
      "max_length": 20
    },
    {
      "id": "headcount",
      "label": "How many people will eat?",
      "type": "number",
      "required": true,
      "min": 5,
      "max": 1000
    },
    {
      "id": "service_style",
      "label": "What kind of service do you want?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Drop off only",
        "Drop off with setup",
        "Buffet with staff",
        "Plated service"
      ]
    },
    {
      "id": "menu_interest",
      "label": "What would you like on the menu?",
      "type": "multi_choice",
      "options": [
        "Sandwiches and wraps",
        "Hot mains",
        "Salads",
        "Grazing boards",
        "Desserts",
        "Breakfast items",
        "Drinks"
      ]
    },
    {
      "id": "delivery_address",
      "label": "Where should we deliver?",
      "type": "short_text",
      "max_length": 250
    },
    {
      "id": "setup_access",
      "label": "When can we get into the building?",
      "type": "short_text",
      "max_length": 200
    },
    {
      "id": "dietary_split",
      "label": "How many guests are vegetarian, vegan or have allergies?",
      "type": "long_text",
      "max_length": 600
    },
    {
      "id": "equipment_needed",
      "label": "What do you need us to bring?",
      "type": "multi_choice",
      "options": [
        "Plates and cutlery",
        "Serving dishes and utensils",
        "Heating trays",
        "Tables and linens",
        "Napkins and cups"
      ]
    },
    {
      "id": "extra_notes",
      "label": "Anything else we should know?",
      "type": "long_text",
      "max_length": 800
    }
  ]
}