A vehicle request form for shared cars and vans

Updated 2026-10-30

Shared vehicles have a way of coming back with less fuel, a new scratch and no note. I want one record at the start of every trip: who has it, where it goes, what state it was in. Then a scratch has a date next to it.

The trip

Purpose, destination, dates, passengers and distance. They show whether the trip fits the vehicle, and who else may want it that day.

The driver

Name, phone and a licence confirmation. The tick box is the driver's own statement. The form does not ask for a licence number, and checking licences stays with you.

The vehicle

Fuel, odometer and damage seen before leaving. This is the baseline that makes a later question simple to answer.

Who fills it and who reads it

Drivers fill it in. A fleet or office manager reads the CSV, checks the diary and replies. A driver's AI might ask: "Where are you going?" Then "When do you pick it up?" Then "Is there damage on the vehicle?" It shows the answers and sends them only after a yes. See agent-fillable forms.

A tip

Keep your own diary as the source of truth, because this fleet form shows no availability. Gear that travels with the vehicle can go through an equipment checkout form. Damage and repairs belong in a work order request. More tools are in IT and operations forms.

Questions

Does the form check that the vehicle is free?

No. It collects a request. You check your diary against the pickup and return dates, then reply with a yes or a no.

Why does it not ask for a licence number?

Government ID numbers are left out on purpose. The tick box records the driver's statement, and you check licences through your own process.

How do I log damage found on return?

Ask the driver to send a second entry on return and describe the new damage in the last box. Sort the CSV by `driver_name` to see both entries together.

Try the form

Live demo ยท nothing is saved

Request a vehicle

Tell us about the trip. We confirm the vehicle once we have checked the diary.

Which kind of vehicle? (required)
I hold a valid licence for this type of vehicle (required)
Fuel level when you take it

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 a vehicle",
  "description": "Tell us about the trip. We confirm the vehicle once we have checked the diary.",
  "fields": [
    {
      "id": "driver_name",
      "label": "Driver name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "driver_phone",
      "label": "Driver phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "team_name",
      "label": "Team or department",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "vehicle_type",
      "label": "Which kind of vehicle?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Car",
        "Van",
        "Pickup truck",
        "Minibus",
        "Other"
      ]
    },
    {
      "id": "trip_purpose",
      "label": "What is the trip for?",
      "type": "short_text",
      "required": true,
      "max_length": 200
    },
    {
      "id": "destination",
      "label": "Where are you going?",
      "type": "short_text",
      "required": true,
      "max_length": 200
    },
    {
      "id": "pickup_date",
      "label": "Pickup date",
      "type": "date",
      "required": true
    },
    {
      "id": "return_date",
      "label": "Return date",
      "type": "date",
      "required": true
    },
    {
      "id": "passenger_count",
      "label": "Passengers besides the driver",
      "type": "number",
      "min": 0,
      "max": 15
    },
    {
      "id": "estimated_distance",
      "label": "Estimated distance in kilometres or miles",
      "type": "number",
      "min": 0
    },
    {
      "id": "licence_confirmed",
      "label": "I hold a valid licence for this type of vehicle",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "fuel_level_out",
      "label": "Fuel level when you take it",
      "type": "single_choice",
      "options": [
        "Full",
        "Three quarters",
        "Half",
        "Quarter",
        "Almost empty"
      ]
    },
    {
      "id": "odometer_out",
      "label": "Odometer reading when you take it",
      "type": "number",
      "min": 0
    },
    {
      "id": "damage_seen",
      "label": "Damage you noticed before leaving",
      "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 a vehicle","description":"Tell us about the trip. We confirm the vehicle once we have checked the diary.","fields":[{"id":"driver_name","label":"Driver name","type":"short_text","required":true,"max_length":150},{"id":"driver_phone","label":"Driver phone","type":"phone","required":true},{"id":"team_name","label":"Team or department","type":"short_text","max_length":100},{"id":"vehicle_type","label":"Which kind of vehicle?","type":"single_choice","required":true,"options":["Car","Van","Pickup truck","Minibus","Other"]},{"id":"trip_purpose","label":"What is the trip for?","type":"short_text","required":true,"max_length":200},{"id":"destination","label":"Where are you going?","type":"short_text","required":true,"max_length":200},{"id":"pickup_date","label":"Pickup date","type":"date","required":true},{"id":"return_date","label":"Return date","type":"date","required":true},{"id":"passenger_count","label":"Passengers besides the driver","type":"number","min":0,"max":15},{"id":"estimated_distance","label":"Estimated distance in kilometres or miles","type":"number","min":0},{"id":"licence_confirmed","label":"I hold a valid licence for this type of vehicle","type":"checkbox","required":true},{"id":"fuel_level_out","label":"Fuel level when you take it","type":"single_choice","options":["Full","Three quarters","Half","Quarter","Almost empty"]},{"id":"odometer_out","label":"Odometer reading when you take it","type":"number","min":0},{"id":"damage_seen","label":"Damage you noticed before leaving","type":"long_text","max_length":800}]}'

JSON definition

json
{
  "title": "Request a vehicle",
  "description": "Tell us about the trip. We confirm the vehicle once we have checked the diary.",
  "fields": [
    {
      "id": "driver_name",
      "label": "Driver name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "driver_phone",
      "label": "Driver phone",
      "type": "phone",
      "required": true
    },
    {
      "id": "team_name",
      "label": "Team or department",
      "type": "short_text",
      "max_length": 100
    },
    {
      "id": "vehicle_type",
      "label": "Which kind of vehicle?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Car",
        "Van",
        "Pickup truck",
        "Minibus",
        "Other"
      ]
    },
    {
      "id": "trip_purpose",
      "label": "What is the trip for?",
      "type": "short_text",
      "required": true,
      "max_length": 200
    },
    {
      "id": "destination",
      "label": "Where are you going?",
      "type": "short_text",
      "required": true,
      "max_length": 200
    },
    {
      "id": "pickup_date",
      "label": "Pickup date",
      "type": "date",
      "required": true
    },
    {
      "id": "return_date",
      "label": "Return date",
      "type": "date",
      "required": true
    },
    {
      "id": "passenger_count",
      "label": "Passengers besides the driver",
      "type": "number",
      "min": 0,
      "max": 15
    },
    {
      "id": "estimated_distance",
      "label": "Estimated distance in kilometres or miles",
      "type": "number",
      "min": 0
    },
    {
      "id": "licence_confirmed",
      "label": "I hold a valid licence for this type of vehicle",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "fuel_level_out",
      "label": "Fuel level when you take it",
      "type": "single_choice",
      "options": [
        "Full",
        "Three quarters",
        "Half",
        "Quarter",
        "Almost empty"
      ]
    },
    {
      "id": "odometer_out",
      "label": "Odometer reading when you take it",
      "type": "number",
      "min": 0
    },
    {
      "id": "damage_seen",
      "label": "Damage you noticed before leaving",
      "type": "long_text",
      "max_length": 800
    }
  ]
}