Start form
Pool car booking
Filled in by whoever starts the process
Workplace & Facilities package
Book a pool car on a themed form: service and clash checks, a decision table for long, multi-day or weekend trips, coordinator approval and a confirmation email.
About this package
Car-pool & fleet booking replaces the key cabinet sign-out sheet. People open the Pool car booking start form, pick a vehicle from the list (seats and EV are in the name), give the pick-up and return times, destination, rough distance and how many are travelling.
The workflow reads the vehicle from the Vehicles table and stops straight away if it is in service. It then looks for confirmed bookings in the Bookings table that overlap the requested times, and a clash is declined with the clashing booking reference. Otherwise the Booking approval decision table decides whether the fleet coordinator must approve: more people than seats, trips of 300 km or more, more than three days, or weekend use.
Standard bookings are confirmed at once. The others give the coordinator an Approve / Reject task with a reminder and escalation. Every booking is recorded, and the driver gets a confirmation with where the keys are and the fuel or charge card, or an email saying why it could not go ahead. Everything is built in.
Starts from a form: open the Pool car booking workflow and use Run (or share its start form); each submission is one booking.
Someone fills in a form to start it: the workflow start form (Run dialog in the app, or your own portal posting to the API) or a standalone form page (/f/<id>) whose Form submitted trigger starts the workflow. People complete User Task forms along the way.
The flow
Book
The driver fills in the themed start form: vehicle, times, destination, distance and passengers.
Check the car
Vehicles in service are declined; confirmed bookings that overlap the times are a clash.
Apply the rules
The Booking approval decision table flags too many passengers, long, multi-day or weekend trips.
Approve when needed
The fleet coordinator approves or rejects with a comment; standard bookings are confirmed at once.
Confirm
The booking is recorded and the driver is emailed the keys location and the fuel or charge card.
Forms
The workflow inputs are the start form: the Run dialog renders them on its grid and theme, and your own portal can post the same fields. User Tasks show their fields and outcome buttons to the assignee.
Start form
Filled in by whoever starts the process
User Task
Approve car booking: {{rego}} for {{requester_name}} ({{approval_reason}}) · 2-column grid · own header and theme
From your code
Every workflow can be started over REST, MCP or the CLI, whatever its trigger, with the sample input below. Runs start straight away on the published version; replace <workflow id> with the id the install created.
REST
curl -X POST "$USERTASKS_URL/api/v1/workflows/start" \
-H "Authorization: Bearer $USERTASKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id":"<workflow id>","variables":{"requester_name":"Daniel Okafor","requester_email":"daniel.okafor@example.com","rego":"HYB303","passengers":3,"pickup_at":"2026-11-13T07:30","return_at":"2026-11-15T18:00","destination":"Napier regional office","distance_km":640,"purpose":"Site visit","notes":"Taking display stands; roof racks please."}}'CLI
usertasks workflows inputs <workflow id> # the start form: keys, types, required
usertasks workflows run <workflow id> --input requester_name="Daniel Okafor" --input requester_email=daniel.okafor@example.com --input rego=HYB303 --input passengers=3 … --waitInbound webhook
usertasks webhooks create <workflow id> # prints the hook slug and secret once
curl -X POST "$USERTASKS_URL/api/webhooks/inbound?hook=<slug>" \
-H "Authorization: Bearer <webhook secret>" -H "Content-Type: application/json" \
-d '{"requester_name":"Daniel Okafor","requester_email":"daniel.okafor@example.com","rego":"HYB303","passengers":3,"pickup_at":"2026-11-13T07:30","return_at":"2026-11-15T18:00","destination":"Napier regional office","distance_km":640,"purpose":"Site visit","notes":"Taking display stands; roof racks please."}'What's included
| Type | Name | Details |
|---|---|---|
| Email template | Booking confirmed | Sent to the driver when the booking is confirmed. |
| Email template | Booking not confirmed | Sent to the driver when the booking is rejected, clashes or the vehicle is unavailable. |
| Data table | Bookings | Every booking request: the vehicle, the dates, whether it needed approval and the outcome. Confirmed rows block the vehicle for other bookings. |
| Data table | Vehicles | The pool fleet: registration, seats, EV or not, range and where the keys are. Set status to Service to stop bookings. |
| Decision table | Booking approval | 5 rules — When a pool car booking needs the fleet coordinator's approval. First matching rule wins; the last rule is the default. |
| Workflow | Pool car booking | 25 steps — A booking from the themed start form: the vehicle is checked for service and clashes, the Booking approval decision table decides whether the fleet coordinator must approve, and the driver is emailed. |
Bookings · 1 sample rows
BookingRegistrationVehicleDriverDriver emailPick upReturnDestinationDistance (km)People travellingPurposeApproval needed becauseStatusCoordinator comment
Vehicles · 6 sample rows
RegistrationVehicleSeatsElectricRange (km)Pick-up locationStatusFuel / charge cardNotes
Requirements
Credentials never travel in a package. The install wizard asks for what your environment must provide, or installs it incomplete until you finish setup.
Nothing: it installs complete.
Install
Works on UserTasks cloud and on any self-hosted instance. Installing creates the assets above; nothing runs until you complete setup and start it.
curl -fLO https://usertasks.com/gallery/fleet-booking-1.0.1.utpkg
usertasks packages inspect fleet-booking-1.0.1.utpkg # offline: checksum, hashes, signature
usertasks packages install fleet-booking-1.0.1.utpkg --dry-run
usertasks packages install fleet-booking-1.0.1.utpkg # prompts for each requirement
usertasks packages install fleet-booking-1.0.1.utpkg --keep-incomplete --yes # in CI; finish with:
usertasks packages complete fleet-booking -f values.yamlVerify the download
shasum -a 256 fleet-booking-1.0.1.utpkg should print the file SHA-256. How gallery packages are signed.
Versions
Installing a newer version upgrades in place: local credentials and requirement values are kept, and changes you made are flagged first. How packages work
More packages
Workplace & Facilities Official
A register of loanable equipment with a check-out form, a due-back return task with a reminder, and Returned / Damaged outcomes that update the register.
Nothing to configure: works as soon as it is installed
Workplace & Facilities Official
Book a room from a themed start form; rules send large, long or catered bookings to facilities for approval, everything else is confirmed straight away.
Nothing to configure: works as soon as it is installed
Workplace & Facilities Official
A themed reception form signs visitors in, looks up their host, logs the visit, emails the host and has reception confirm an NDA when needed.
Nothing to configure: works as soon as it is installed