---
title: "Campervan and boat handover inventory from one video"
description: "What to film when a campervan or a boat changes hands, what the API records (VIN plate, gas, battery, seacocks) and how to compare the handover with the return."
lang: en
date: 2026-10-14
tags: ["campervan", "boat", "inventory", "check-in"]
source_url: https://spacecontext.app/blog/campervan-boat-handover-inventory-video/
---

# Campervan and boat handover inventory from one video

What to film when a campervan or a boat changes hands, what the API records (VIN plate, gas, battery, seacocks) and how to compare the handover with the return.

When a campervan goes out for two weeks or a yacht changes skipper on a Saturday morning, the handover is where disputes start: a missing jack, a cracked locker lid, a seacock that was already stiff. A walkthrough video settles most of them, if it shows the right things. Space Context knows what the right things are for each type of space. Give a scan the type `camper` or `boat` and every frame is checked against that type's key locations (the gas locker, the leisure battery, the VIN plate, the seacocks), the document lists what was filmed and what was not, and a second scan at the return is compared with the first, item by item.

**In short**

- Capture profiles list what to film for each type of space, with a one-line hint each: 12 key locations for a camper, 12 for a boat, 7 for a vehicle.
- While filming, `POST /v1/frames/check?space_type=…` ticks them off in about half a second per frame, free within a daily allowance.
- The scan returns items, condition, issues and key locations with their photos, plus a checklist of what was not filmed.
- At the return, a second scan of the same space is compared with the handover: added, moved, changed, new issues, and "gone" only when a frame shows the empty place.

## What should a campervan handover video show?

This is the camper profile, as `GET /v1/capture-profiles/camper` returns it. The key locations in bold are usually there, so their absence from the footage is worth a reminder; the others count when the camper has them.

| Key location | What to film |
| --- | --- |
| **Identification plate** | The VIN plate (door pillar, under the bonnet or through the windscreen) up close, holding still |
| **Instrument panel** | The dashboard switched on, with the odometer visible |
| **Electrical panel** | The 12 V control panel and the fuse box |
| **Gas shut-off** | Open the gas locker and film the bottles and their valve |
| Battery and isolator | The leisure battery and its isolator switch |
| Water heater | The boiler or water heater and its label |
| Fresh-water tank | The tank, its filler or its gauge |
| Heating control | The thermostat or the heating controls |
| Smoke detector | Point the camera up at any smoke or heat detector |
| Fire extinguisher | Each extinguisher where it hangs |
| Spare wheel | The spare wheel or repair kit, and the jack |
| Safety equipment | The warning triangle and the hi-vis vests where they are kept |

The areas of a camper are the cab, the living area, the kitchen, the bathroom, the bedroom, the storage and the outside (front, rear and side). Walking them in that order, with the lockers open, gives the scan the frames it needs to name every area and place every item in it.

Two habits make the biggest difference: hold the camera still for two seconds on the odometer and on the VIN plate (text needs a sharp frame), and say out loud what you see that a frame cannot show ("the step does not retract fully", "two gas bottles, one full").

## And a boat?

The boat profile, as the API returns it (`GET /v1/capture-profiles/boat`, trimmed to the first entries):

```json
{
  "object": "capture_profile",
  "space_type": "boat",
  "language": "en",
  "key_locations": [
    { "kind": "electrical_panel", "label": "Electrical panel", "hint": "Film the switch panel and the breaker or fuse panel.", "expected": true },
    { "kind": "battery_isolator", "label": "Battery and isolator", "hint": "Film the battery bank and the battery master switch.", "expected": true },
    { "kind": "instrument_panel", "label": "Instrument panel", "hint": "Film the helm instruments switched on.", "expected": true },
    { "kind": "engine_bay", "label": "Engine", "hint": "Open the engine hatch and film the engine.", "expected": true },
    { "kind": "fire_extinguisher", "label": "Fire extinguisher", "hint": "Film each fire extinguisher where it hangs.", "expected": true },
    { "kind": "safety_equipment", "label": "Safety equipment", "hint": "Film the life jackets, the life ring and the flares where they are kept.", "expected": true },
    { "kind": "bilge_pump", "label": "Bilge pump", "hint": "Film the bilge pump and its switch.", "expected": false },
    { "kind": "seacock", "label": "Seacocks", "hint": "Film each seacock (through-hull valve).", "expected": false }
  ],
  "areas": [
    { "value": "deck", "label": "Deck" },
    { "value": "cockpit", "label": "Cockpit" },
    { "value": "cabin", "label": "Cabin" },
    { "value": "galley", "label": "Galley" },
    { "value": "bathroom", "label": "Bathroom" },
    { "value": "engine_room", "label": "Engine room" },
    { "value": "exterior", "label": "Outside" }
  ]
}
```

The full list adds the fuel shut-off, the gas shut-off, the first-aid kit and the builder's plate or hull identification number. Profiles are public (no key) and come in English, Italian, Spanish, French, German, Portuguese and Dutch with `?language=`, so a charter company can show the same checklist to a skipper in their own language.

## How does an app make sure nothing is missed while filming?

If you build the app your staff or customers film with, check frames while they film. Every few seconds, send the latest frame:

```bash
curl -X POST "$API/frames/check?space_type=camper" -H "$AUTH" \
  -H "Content-Type: image/jpeg" --data-binary @frame.jpg
```

The answer says whether the frame is usable (sharp, lit, showing the camper rather than a screen or a document), which area it most likely shows, and the probability of each key location of the type; from 0.7 a key location counts as seen. Tick it off the list, keep the time of its best frame, and before the person stops, say what is still missing among those usually there: "Not filmed yet: gas shut-off". Nothing is stored, the same image always gets the same answer, and checks are free within a daily allowance per account. The details, including the SDK's `fetchCaptureProfile` and `sc.frames.check`, are in the [guided capture guide](https://spacecontext.app/developers/docs/guides/guided-capture/).

No app yet? The CLI does the same on a folder of photos, and prints the checklist before you start:

```bash
npx spacecontext checklist --type boat
npx spacecontext check ./photos --type boat
```

## Why does the type of space matter for the analysis?

Because the first question every frame is asked is "does this show the thing being filmed?", and a question written for buildings gets vehicles wrong. When we measured it on 13 October 2026 on hand-labelled photos, the building-only question called 34 of 102 real photos of vehicles, boats, campers and appliances "not a space", and a scan made only of such frames would have been refused. Asked per type, the question accepts 96% of real vehicle photos, 96% of boat photos and 88% of camper photos, and still refuses every drawing, plan, document and screenshot in the set.

The type also decides which key locations each frame is checked for, which areas the analysis uses, and what the document's checklist lists.

## What does the scan record?

The same [Space Document](https://spacecontext.app/developers/docs/api/space-document/) as for a home, with the camper's or the boat's own vocabulary:

- **areas** such as the cab, the living area or the engine room, each with its condition and an orientation sentence;
- **items** with quantity, condition, brand and model when readable, and where they are: a landmark, a relation such as `inside` or `left_of`, and the viewpoint that makes left and right true;
- **issues** with severity, such as a cracked locker lid or a corroded battery terminal, with the frames that show them;
- **key locations**: where the gas shut-off, the battery isolator or the seacocks are, with their photo;
- **coverage.checklist**: every key location of the type, seen or not, with its best frames. "Not seen" means not filmed: a hint for the next walkthrough, not a claim that it is missing.

Every item, issue and key location is then checked again on its own photo and marked `verified`, `unconfirmed` or `not_visual`; see [how the photo check works](https://spacecontext.app/blog/vision-model-hallucinations-photo-check/). Identification numbers (a VIN, a hull number) are treated like passwords: a key without the `spaces:sensitive` scope, such as one you give an assistant, never reads them.

## How do you compare the handover with the return?

Scan the same space again at the return, then ask for the difference:

```bash
npx spacecontext scan ./handover.mp4 --name "Camper 12 (Ducato)" --type camper
npx spacecontext scan ./return.mp4 --space spc_…
npx spacecontext diff spc_… --from scn_…
```

The comparison lists items added, moved, changed in quantity or condition, and new issues, each with the frames of both scans. Something counts as **removed** only when a frame of the return shows its place empty; anything else the return simply did not show is **not seen**, a list to check in person before charging anyone. That rule, and why it matters, is explained with a real example in [Check-in and check-out inventory](https://spacecontext.app/blog/check-in-check-out-inventory-comparison/).

In a booking system, the same comparison is one call (`GET /v1/spaces/{id}/diff`), and a signed `scan.completed` webhook tells you when the return scan is ready.

## What it does not do

- It does not **measure damage** or price repairs: it documents what is visible and when, with the original frames.
- It is not a **mechanical inspection**: an engine that looks fine on video can still fail.
- It does not see **what was not filmed**: a closed locker stays a gap in `coverage`, and the checklist says which key locations are missing.

## Start with your next handover

Film the next campervan or boat that goes out, following the checklist above, and scan it in the [console](https://spacecontext.app/developers/console/): a free test key shows the whole flow on the demo space, the first live scan is free with a card on file, then $1.00 per scan. If you are building the handover into your own app, start with [the API flow](https://spacecontext.app/blog/video-to-structured-json-api/) and the guided capture guide.

## FAQ

### Can Space Context scan a campervan or a boat, not only a home?

Yes. A space can be a camper, a boat, a vehicle, an appliance, an office, a shop, a warehouse or a garage as well as a home. The type decides what each frame is checked for: the gas locker and the leisure battery of a camper, the seacocks and the bilge pump of a boat.

### How does the person filming know they have not missed anything?

An app can show the checklist of the type of space and tick it while filming: POST /v1/frames/check?space_type=camper says in about half a second whether a frame is usable, which area it shows and which key locations are in it. After the scan, coverage.checklist lists every key location as seen or not seen.

### Does it detect dents and scratches like a vehicle damage AI?

It records issues it can see, with their severity and the frames that show them, and compares two scans. It is not a damage-estimation tool: it does not measure dents or price repairs. It documents the state of the whole vehicle or boat, inside and out, with photo evidence.

### Who can read the VIN or the hull number?

Identification numbers are treated like passwords: an API key without the spaces:sensitive scope, such as one given to an assistant, never reads them, while the owner's own keys and the console do.

### What does a scan of a campervan cost?

The same as any space: test keys are free and return the demo space, the first live scan is free with a card on file, then $1.00 per scan from prepaid credit. Frame checks while filming are free within a daily allowance per account.
