Send a boat from your AI
Using ChatGPT, Claude or another AI to find boats? Ask it to send a boat it found to your saved boats.
Send this boat to liveaboardhq.com/ai so I can save it.
Instructions for AI assistants (your AI reads these)
# Send a boat to Liveaboard HQ
> For AI assistants. Your user is shopping for a boat to live aboard and wants to add a boat you found to their saved boats on Liveaboard HQ. You send the facts you already read; Liveaboard HQ never fetches the listing itself.
Contents: Quick start, What to do, The JSON, Facts, Unit lists.
## Quick start
Send one boat: its `type`, and `facts` with at least `identification.make`, `identification.model` and `identification.year`. Everything else is optional; send what the listing states. One boat per link: to add another boat, do this again for that boat.
## What to do
1. Work from the listing text you have read, or listing text your user gives you. If you can't read the listing with your normal tools, ask your user to paste the listing text.
2. Collect the facts the listing states, using the field keys below. Never guess or fill in typical values. The one exception is `type`: if the listing doesn't say it, choose it from the boat's make and model. If the listing gives two different values for the same fact, leave that fact out and tell your user which fact the listing contradicts.
3. Build the JSON described below.
4. Give your user a link: `https://liveaboardhq.com/ai/import#` followed by the JSON, URL-encoded (encodeURIComponent). A base64url-encoded JSON after the `#` works too; it is what the API in step 5 returns. If you can run code, build the link with code so the encoding is exact.
5. If you can make HTTP requests, you may instead POST the JSON to `https://liveaboardhq.com/api/ai/boat` with `Content-Type: application/json`. The response on success is `{ "ok": true, "url": "...", "title": "2022 Lagoon 46", "factsKept": 52, "factsSkipped": ["key", ...] }`: give your user the `url`; `factsSkipped` lists the keys Liveaboard HQ could not read, which you may correct and send again. On `ok: false`, `issues` says what to fix.
6. If you work in a browser that offers WebMCP tools, Liveaboard HQ's pages (not its sign-in, messages or dashboard screens) offer the tool `prepare_boat_import`. It takes the same JSON and returns the same response.
Tell your user: open the link, sign in, and save the boat. The facts are shown as sent by you, not checked by Liveaboard HQ.
## The JSON
The same contract as JSON Schema: https://liveaboardhq.com/ai/schema.json
```json
{"url":"https://example.com/listing/2022-lagoon-46","type":"sailing-catamaran","facts":{"identification.make":"Lagoon","identification.model":"46","identification.year":2022,"identification.askingPriceDollars":"USD 774000","identification.loaFeet":"13.99 m","interior.cabins":4,"tanks.waterL":"300 L","batteryBanks":[{"purpose":"HOUSE","chemistry":"Lithium (LiFePO4)","capacityAh":600}]}}
```
- `url`: the listing you read (optional).
- `type` (required): one of `sailing-monohull`, `sailing-catamaran`, `sailing-trimaran`, `power-catamaran`, `power-trimaran`, `motor-vessel`.
- `facts`: one object holding both kinds of key from the lists below, side by side: single facts as `"section.field"` (`"groundTackle.windlassType"`), and unit lists as the list's own key (`"groundTackle": [ ... ]`). Some names, like `groundTackle` and `engine`, are both. `identification.make`, `identification.model` and `identification.year` are required.
- A measurement is a string with its unit as the listing wrote it ("300 L", "45 ft"); never convert, Liveaboard HQ converts. A bare number is read in the first unit listed.
- A total is one number: two 300 L tanks is "600 L".
- Any fact, in a unit list too, may instead be an object: `{ "value": 300, "unit": "L", "quote": "words from the listing" }`. `value` is required. `unit` is the unit the listing used, for a bare number in a field that takes a unit. `quote` is optional: the listing's own words for that fact. Where a field's note says to quote the original words, a plain value written as the listing wrote it ("80 L/h") is enough.
- A unit list (engines, battery banks, ...) is an array of objects, one per unit, keyed by the unit fields.
- Options ("one of") match without regard to case, by their value or their wording.
## Facts
- `identification.name`: Vessel name. The vessel's own name, as painted on the transom. Not the builder, not the model.
- `identification.homePort`: Hailing port. The hailing port on the transom, when the text names one.
- `identification.make`: Make / builder. Builder name only. Drop a country, a legal suffix, and a trailing Yachts or Boats: write Gulfstar, not Gulfstar Yachts (USA).
- `identification.model`: Model. Model designation only, without the builder name. Copy it character for character, including hyphens and roman numerals.
- `identification.year`: Year; year. The year the boat was BUILT. A refit, repower, rebuild or purchase year is not the build year.
- `identification.loaFeet`: Length; unit: ft | m
- `identification.beamFeet`: Beam; unit: ft | m
- `identification.draftFeet`: Draft; unit: ft | m. Draft with the keel or boards DOWN when the text gives a boards-up and a boards-down figure.
- `identification.airDraftFeet`: Air draft; unit: ft | m
- `identification.displacementLbs`: Displacement; unit: lbs | kg | t. Displacement or dry weight, as written: 8.5 tonnes is 8.5 t, 7,500 kg is 7500 kg. Never convert; quote the original words.
- `identification.askingPriceDollars`: Asking price (USD); a number in US dollars, or text with its currency code, e.g. "EUR 850000". The current asking price as a plain number, exactly as written, with the currency the text uses. Not a past price, a slip fee, or a finance payment. € or euros is EUR, £ is GBP, A$ is AUD, CA$ or C$ is CAD, NZ$ is NZD, a bare $ is USD. Never convert.
- `identification.subType`: Style; one of: cruiser | racer-cruiser | motorsailer | pilothouse | center-cockpit | other | cruising | performance | folding | sport | passagemaker | trawler | expedition | sport-fisherman | sport-cruiser
- `identification.subTypeOther`: Your style
- `identification.rigType`: Rig type; one of: SLOOP | CUTTER | KETCH | YAWL | SCHOONER | CAT_RIGGED | JUNK_RIGGED | OTHER
- `identification.rigTypeOther`: Your rig type
- `identification.city`: Current city. The city or town the boat is lying in now, not the seller's home town and not where it was built.
- `identification.state`: State / province. State or province the boat is lying in now.
- `identification.country`: Country. Country the boat is lying in now.
- `identification.comesWithSlip`: Does a slip or berth convey with the sale?; yes | no
- `exterior.hullMaterial`: Hull material; one of: Fiberglass | Aluminum | Steel | Wood | Composite. Fibreglass, GRP, FRP and glassfibre all mean "Fiberglass". Aluminium is "Aluminum". A cored, sandwich or carbon-reinforced laminate is "Composite".
- `exterior.hullColor`: Hull color. The hull colour itself, not the bottom paint or the boot stripe.
- `exterior.antifoulYear`: Last antifoul year; year. Year the bottom was last painted.
- `exterior.deckSurface`: Deck surface; one of: Non-skid fiberglass | Teak | Synthetic teak | Painted | Other. What the deck is surfaced with. Moulded or gelcoat non-skid is "Non-skid fiberglass". Real teak is "Teak". Flexiteek, Permateek and cork are "Synthetic teak". Deck paint with grit is "Painted". Antifoul is the HULL, not the deck.
- `exterior.deckSurfaceYear`: Deck surface laid (year); year. Year the deck surface was laid, re-laid or last replaced. Not the build year, and not the year the deck was cleaned or oiled.
- `exterior.keelType`: Keel type; one of: Full keel | Fin keel | Bulb / wing keel | Modified full | Lifting / swing keel | Centerboard | Bilge / twin keel | Daggerboards | Other | Fixed (low-aspect) keels | Centerboards | Mini-keels
- `exterior.biminiType`: Bimini; one of: None | Soft | Hard. Canvas on a frame is "Soft"; a rigid top is "Hard"; "None" only when the text says there is none.
- `exterior.dodgerType`: Dodger; one of: None | Soft | Hard. Canvas on a frame is "Soft"; a rigid dodger or hard top is "Hard"; "None" only when the text says there is none.
- `exterior.cockpitEnclosure`: Cockpit enclosure; one of: None | Partial | Full. A full winter or camper enclosure, or a cockpit described as fully enclosed, is "Full"; side curtains or a partial screen is "Partial". Answer it here, never as an extra.
- `exterior.deckShower`: Transom shower; one of: None | Cold water | Hot and cold. A transom, swim-platform or cockpit shower. "Hot and cold" when the text says hot water reaches it.
- `exterior.helmConfig`: Helm; one of: Flybridge | Bulkhead helm | Dual helms | Aft helm | Other
- `exterior.trampolineYear`: Trampolines replaced (year); year. Year the trampolines were last replaced. Trampolines are the netting forward between the hulls of a multihull; a sunshade, a cockpit net or a bimini is not a trampoline.
- `exterior.trampolineMaterial`: Trampoline material; one of: Mesh (polyester) | UHMWPE (Dyneema) | Vinyl-coated | Other. What the trampolines are woven from. Polyester or PVC mesh is "Mesh (polyester)". Dyneema, UHMWPE and Spectra are "UHMWPE (Dyneema)". A solid vinyl-coated or coated-fabric panel is "Vinyl-coated". Anything else named is "Other".
- `exterior.hullForm`: Hull form; one of: Planing | Semi-displacement | Displacement
- `interior.cabins`: Cabins; number. Count the sleeping cabins the text names. Two proper double cabins is 2. Do not count the saloon or a convertible dinette.
- `interior.heads`: Heads; number. Count the heads (bathrooms) the text names, including a day head.
- `interior.berths`: Berths; number. Total sleeping berths, only when the text gives a berth or bed count. Do not derive it from the cabin count.
- `interior.headroomFeet`: Standing headroom; unit: ft | m. Standing headroom, as written: 1.95m is 1.95 m. Feet and inches become feet: 6ft3in is 6.25 ft.
- `interior.washerDryer`: Washer / dryer; one of: None | Combo unit | Separate washer & dryer. A single washer-dryer machine (LG washer/dryer) is "Combo unit"; two machines are "Separate washer & dryer". Answer it here, never as an extra.
- `interior.ownerVersion`: Owner's version; yes | no
- `galley.stoveFuel`: Stove fuel; one of: Propane | Diesel | Electric | Induction | Alcohol. LPG, gas, butane and CNG all mean "Propane". An induction hob is "Induction", never "Electric".
- `galley.fridgeCount`: Fridges; number. How many separate fridges or fridge boxes.
- `galley.freezerCount`: Freezers; number. How many separate freezers or freezer boxes.
- `galley.refrigerationPower`: Refrigeration power; one of: AC | DC | AC_DC. 12V or 24V refrigeration is "DC"; shore or inverter only is "AC"; "AC_DC" when the text says both.
- `galley.fridgeL`: Total fridge volume (L); number
- `galley.hasDishwasher`: Dishwasher; yes | no
- `galley.galleyLocation`: Galley location; one of: Galley up (in the saloon) | Galley down (in a hull)
- `engine.cruiseSpeedKn`: Cruising speed under power (kn); number. Cruising speed under power, in knots. A top speed, hull speed or passage average is not a cruising speed.
- `engine.maxSpeedKn`: Top speed under power (kn); number
- `engine.rangeNm`: Range under power (nm); number
- `engine.rangeRpm`: Cruise RPM for that range; number
- `engine.rangeSpeedKn`: Speed at that RPM (kn); number
- `sails.winchCount`: Winches; number. How many winches are aboard in total, as a number. Add the cockpit and mast winches together when the text counts them separately.
- `sails.electricWinchCount`: Electric winches; number. How many of the winches are ELECTRIC or powered, as a number. Two electric primaries is 2. Electric winches mentioned with no count is not a number: leave the field out.
- `sails.sailCruiseSpeedKn`: Cruising speed under sail (kn); number. Speed UNDER SAIL, in knots. A cruising speed the text gives for motoring or under power belongs to the engine section, not here. Not a best day and not a record: averaged over 7 knots multiple times is a peak. Leave it out when only a top speed is given.
- `rigging.standingRigYear`: Standing rig installed or replaced (year); year. Year the standing rigging was last replaced, and only when the text states a year. Pre-2017, within the past year, about ten years ago and unknown are not a year: leave the field out. A span such as 2024/2025 gives the LATER year. Never the build year.
- `rigging.standingRiggingMaterial`: Standing rigging material; one of: Wire | Rod | Synthetic (Dyneema) | Other. What the standing rigging is made of. Wire, 1x19 and stainless are "Wire". Rod rigging is "Rod". Dyneema, synthetic and composite rigging are "Synthetic (Dyneema)". Any other named material is "Other". The mast's own material is not the rigging's.
- `rigging.mastMaterial`: Mast material; one of: Aluminum | Carbon | Wood | Other. What the MAST is made of, not the rigging or the boom. Aluminium and alloy are "Aluminum". Carbon and carbon fibre are "Carbon". A wooden or spruce spar is "Wood". Anything else named is "Other".
- `rigging.rigInspectionYear`: Rig inspected (year); year. Year the rig was INSPECTED, surveyed or tuned by a rigger. The year the standing rigging was REPLACED belongs to standingRigYear, not here; a replacement with no separate inspection gets no entry.
- `rigging.mainMastYear`: Main mast year; year. Year the main mast was stepped or replaced.
- `rigging.mizzenMastHeightFt`: Mizzen mast height; unit: ft | m
- `rigging.mizzenMastYear`: Mizzen mast year; year
- `rigging.foremastHeightFt`: Foremast height; unit: ft | m
- `rigging.foremastYear`: Foremast year; year
- `safety.liferaft`: Liferaft; one of: Yes (in service) | Yes (out of service) | No. Report only when the text says whether the raft is in or out of service. A raft mentioned with no service status matches no option.
- `safety.liferaftServiceYear`: Liferaft last service (year); year. Year the liferaft was last repacked or certified.
- `safety.epirb`: EPIRB / PLB; one of: EPIRB | PLB | Both | Neither. A vessel beacon is "EPIRB"; a personal beacon is "PLB"; "Both" when the text names both.
- `safety.mob`: MOB recovery; one of: Lifesling | MOB module | Both | Other | None. A Lifesling is "Lifesling"; a Jonbuoy or MOB module is "MOB module".
- `safety.fireSuppression`: Fire suppression. Fixed engine-room suppression or extinguishers, as the text names them.
- `safety.liferaftCapacity`: Liferaft capacity; number. How many people the raft is rated for: a 6-person or six-man raft is 6. Never the number of berths or the crew aboard.
- `safety.liferaftBrand`: Liferaft make. The raft's maker as the text writes it: Viking, Ocean Safety, Switlik, Plastimo, Winslow.
- `safety.jacklines`: Jacklines; yes | no. Only when the text names jacklines or jack stays. Tethers or harnesses alone are not jacklines.
- `safety.drogueOrSeaAnchor`: Drogue or sea anchor; yes | no. True when the text names a drogue, a series drogue, a Jordan series drogue, a sea anchor or a parachute anchor.
- `safety.bilgePumpElectricCount`: Electric bilge pumps; number. How many ELECTRIC bilge pumps: "four, two in each hull" is 4. Manual pumps have their own field.
- `safety.bilgePumpManualCount`: Manual bilge pumps; number. How many MANUAL or hand bilge pumps.
- `tanks.fuelL`: Fuel; unit: gal | L | imp gal. TOTAL built-in fuel tank capacity, as written with its unit. Never convert. 2 x 100 L tanks is 200 L. Jerry cans are not tanks, but only the number in their own phrase: in 200L diesel and 30L petrol jerry-cans, fuel is 200 L. Never add cans to the tank.
- `tanks.waterL`: Fresh water; unit: gal | L | imp gal. TOTAL built-in fresh water tank capacity, as written with its unit. Never convert. Twin 300L tanks is 600 L. Jerry cans and loose bladders are not tanks: exclude only the number in their own phrase, and never add them to the tank.
- `tanks.holdingL`: Holding; unit: gal | L | imp gal. TOTAL black-water holding tank capacity, as written: the number and its unit. Never convert. A portable container is not a holding tank.
- `vatAndFlag.vatStatus`: VAT-paid status; one of: VAT paid (EU) | VAT not paid | Deemed paid (pre-1985) | Not applicable (non-EU boat). Report only when the text uses the word VAT, and quote those words. Import duty or customs paid is not VAT: leave VAT out. A boat whose text never says VAT has no answer here, not "Not applicable (non-EU boat)".
- `vatAndFlag.flagState`: Flag country. The country the boat is registered or flagged in, not where it is lying.
- `vatAndFlag.buildersCertificate`: Builder's certificate available; one of: Yes | No | Unknown
- `vatAndFlag.rcdCategory`: RCD/RYA category; one of: A · Ocean | B · Offshore | C · Inshore | D · Sheltered waters | Not applicable. CE category A is "A · Ocean", B is "B · Offshore", C is "C · Inshore", D is "D · Sheltered waters".
- `vatAndFlag.charterHistory`: Charter history; one of: Never chartered | Owner-captained day charter | Charter fleet (bareboat) | Unknown. Never in charter or private from new is "Never chartered". A charter company, fleet or ex-charter is "Charter fleet (bareboat)". Day trips the owner ran themselves is "Owner-captained day charter". "Unknown" only when the text says the history is unknown.
- `vatAndFlag.ownerCount`: Number of owners; number. How many owners the boat has had, the current one INCLUDED. One owner from new, single owner and first owner are 1; second owner and two owners are 2. Years of ownership are not a count of owners.
- `vatAndFlag.seaTrialPolicy`: Sea trial policy; one of: Available before survey | Available after an accepted offer | Available after deposit | Available with a one-day insurance rider | Not currently available (boat on the hard)
- `vatAndFlag.surveyPolicy`: Survey policy; one of: Recent survey on file | Buyer to commission a new survey | Recent survey on file; buyer may commission their own | No recent survey on file. Report only when the text says what happens about a survey. A survey date alone is "Recent survey on file".
- `vatAndFlag.lastSurveyYear`: Most recent survey (year); year. Year of the MOST RECENT survey. Not the build year, not a refit year, not an insurance renewal. A month and year like January 2026 is 2026. Surveyed recently and out of survey are not a year: leave the field out.
- `vatAndFlag.surveyReportAvailable`: Report available to buyers; yes | no. Only when the text says a survey REPORT exists and can be shared: report available, survey on file, copy on request. A survey that merely happened is not a report the buyer can read.
- `solar.watts`: Solar (total watts); number. TOTAL solar output in watts. 6 x 340W panels is 2040. Leave it out when the text gives only a panel count.
- `solar.year`: Solar install year; year. Year the solar was installed.
- `solar.solarPanelCount`: Solar panels; number. How many solar panels are aboard, as a number. 6 x 340W panels is 6. A total wattage is not a panel count.
- `solar.solarControllerBrand`: Charge controller make. Solar charge-controller or MPPT builder only: Victron, EPEver, Genasun, Outback, Morningstar. Not the inverter and not the battery monitor.
- `solar.hasWindGenerator`: Wind generator(s); yes | no. Only when the text says a wind generator is aboard.
- `solar.windGeneratorCount`: How many wind generators; number
- `solar.windGeneratorWatts`: Wind output (total watts); number
- `solar.hasHydroGenerator`: Hydrogenerator; yes | no. Only when the text says a hydrogenerator, hydro generator, water generator or towed generator is aboard. A wind generator, an alternator and a shaft alternator are not one.
- `solar.hydroGeneratorWatts`: Hydro output (watts); number. Hydrogenerator output in watts. 600W is 600. Not the wind generator's output and not the solar total.
- `solar.hydroGeneratorBrand`: Hydro brand. Hydrogenerator builder: Watt&Sea, Sail-Gen, Duogen, Save Marine, Remoran.
- `solar.alternatorOutputAmps`: Alternator output (total amps); number. Alternator output in amps, added up when the text names more than one.
- `watermaker.brand`: Brand. Watermaker builder: Spectra, Dessalator, Schenker, Rainman, Katadyn, Sea Recovery.
- `watermaker.outputGph`: Output; unit: gph | L/h | gpd | L/day. Output in the unit written: 80L/hr is 80 L/h, 20 gph is 20 gph, 400 GPD is 400 gpd, 1,200 litres a day is 1200 L/day. Never convert. A model name's number (Spectra Newport 400) is not an output. Quote the original words.
- `watermaker.watermakerYear`: Installed / membranes replaced (year); year. Year the watermaker was installed, or the year its membranes were last replaced. A service or pickling with no parts replaced is not a year for this field.
- `instrumentation.plotterBrand`: Chartplotter make. Chartplotter or MFD builder only: Garmin, Raymarine, B&G, Furuno, Simrad, Lowrance.
- `instrumentation.plotterModel`: Chartplotter model. Chartplotter or MFD model, character for character: Axiom 12, GPSMAP 8612, Zeus 3.
- `instrumentation.hasRadar`: Radar; yes | no. Only when the text says radar is aboard. Silence about radar is not a no.
- `instrumentation.autopilot`: Autopilot make. Autopilot builder only: Raymarine, B&G, Garmin, Simrad, Alpha.
- `instrumentation.autopilotModel`: Autopilot model
- `instrumentation.aisType`: AIS; one of: None | Receive only | Class B transceiver | Class A. A transponder, transceiver or transmitter is "Class B transceiver" unless the text says class A, which is "Class A". Receive-only, RX or an AIS overlay with no transmit is "Receive only". "None" only when the text says there is no AIS.
- `instrumentation.satComms`: Satellite comms; one of: Starlink | Iridium GO | Inmarsat | Other | None. EVERY satellite system the text names. Starlink or Starlink Maritime is "Starlink". An Iridium GO is "Iridium GO". Inmarsat or Fleet One is "Inmarsat". Any other named system is "Other". "None" only when the text says there is none. Quote the naming sentence.
- `instrumentation.vhfDsc`: VHF with DSC; yes | no. Only when the text says the VHF has DSC, digital selective calling, or a programmed MMSI. A VHF on its own is not a yes.
- `instrumentation.ssbRadio`: SSB radio; yes | no. Only when the text says an SSB or single sideband radio is aboard. A Pactor modem or an SSB-fed weatherfax counts. A handheld VHF does not.
- `instrumentation.radarBrand`: Radar make. Radar builder only: Furuno, Raymarine, Garmin, Simrad, B&G. Only when the text names one.
- `instrumentation.radarModel`: Radar model. Radar model or array designation, character for character: 1623, Quantum 2, Fantom 18.
- `instrumentation.autopilotRedundant`: Second independent autopilot; yes | no. Only when the text says there are TWO independent autopilots, or a second complete pilot, or a wind vane used as a backup pilot. A spare ram, a backup drive or a spare course computer for one pilot is not a second autopilot.
- `dinghy.included`: Tender included in the sale; yes | no. Only when the text says the tender goes with the boat.
- `dinghy.brand`: Brand. Tender builder: AB, Highfield, Walker Bay, Zodiac, Caribe, Williams.
- `dinghy.hullType`: Tender type; one of: RIB | Hard | Inflatable | Roll-up. A rigid bottom with inflatable tubes is "RIB". An all-fibreglass or aluminium dinghy is "Hard". A soft-floor inflatable is "Inflatable"; a roll-up floor is "Roll-up".
- `dinghy.lengthFt`: Length; unit: ft | m. Tender length, as written: 3.1m is 3.1 m. Never convert.
- `dinghy.outboardBrand`: Outboard brand. Outboard builder: Yamaha, Tohatsu, Honda, Mercury, Suzuki, Torqeedo.
- `dinghy.outboardHp`: Outboard HP; number. Outboard horsepower as a number.
- `dinghy.year`: Year; year
- `dinghy.davitType`: Davits; one of: NONE | MANUAL | MECHANICAL | HYDRAULIC | YES_UNSTATED. Pick the kind when the text names it. Davits, a davit or a dinghy crane with no kind named is "YES_UNSTATED". "NONE" only when the text says there are none.
- `groundTackle.windlassType`: Windlass; one of: None | Manual | Electric | Hydraulic. Report the windlass type only when the text names it: manual, electric or hydraulic.
- `groundTackle.chainLengthFt`: Chain length; unit: ft | m. How much CHAIN, as a length as written: 100m is 100 m. Rope belongs to ropeLengthFt, the chain's thickness to chainSizeMm.
- `groundTackle.chainSizeMm`: Chain size (mm); number. The chain's LINK SIZE in millimetres, always: 10mm chain is 10, and 3/8 inch chain is 10. Never the length.
- `groundTackle.ropeLengthFt`: Rope length; unit: ft | m. How much ROPE, warp or nylon rode follows the chain, as written: 50m is 50 m. Not the chain itself.
- `groundTackle.rodeSummary`: Rode (in your words). Chain and rope lengths as the text gives them, such as 180 ft chain plus 200 ft rope.
- `groundTackle.windlassBrand`: Windlass make. The windlass make and model as the text writes them: Lofrans Tigres, Maxwell RC8, Quick, Lewmar.
- `groundTackle.windlassWatts`: Windlass power (W); number. The windlass motor's rating in watts. 1700W is 1700.
- `flybridge.hasFlybridge`: Does this boat have a flybridge?; yes | no. True whenever the text names a flybridge, flying bridge, upper helm or bridge deck helm station, even in passing. Leave it out when the text never mentions one: silence is not a no.
- `flybridge.flybridgeTop`: Flybridge top; one of: None | Soft | Hard
- `flybridge.flybridgeEnclosure`: Enclosure; one of: None | Partial | Full
- `flybridge.secondaryHelm`: Secondary helm at flybridge; one of: Full controls | Basic | None
- `escapeHatches.escapeHatchesFitted`: Escape hatches; one of: YES | NONE
- `amas.foldingBeam`: Folding beam mechanism; yes | no
- `amas.beamCount`: Beam count; number
- `amas.beamMaterial`: Beam material; one of: Aluminum | Carbon | Composite | Other | Unknown
- `stabilizers.type`: Type; one of: Active fin | Gyro (Seakeeper / similar) | Paravanes | Other | None. Installed systems only: fins (Naiad, Wesmar, ABT) are "Active fin", a Seakeeper or other gyro is "Gyro (Seakeeper / similar)". Flopper stoppers, paravanes and other hang-off roll dampers are NOT stabilizers: leave this blank for them.
- `stabilizers.brand`: Brand
- `stabilizers.installYear`: Install year; year
## Unit lists
### `serviceLog` (Service log)
- `year`: Year; year. The year the work FINISHED. A range or a winter ("2019-2021 refit", "winter 2023/24") resolves to its LATER year. Skip any job the text does not date: an undated row has no place in a dated list.
- `system`: System; one of: Engine | Rigging & sails | Electrical | Electronics | Hull & deck | Plumbing & tanks | Ground tackle | Safety | Interior | Other. Which system the work touched. Skip it rather than guessing when the job spans several or fits none.
- `description`: What was done. What was done, one job per entry, in the seller's own words. START WITH THE MOST RECENT YEAR AND WORK BACKWARDS, at most 20 entries: a buyer is asking how recently the boat was worked on. Never merge two jobs into one line, and never invent one.
### `cabin` (Cabins)
- `location`: Location. Where the cabin sits: forward, aft, port, starboard, midships. One entry per cabin the text names.
- `berthType`: Berth type; one of: Double | V-berth | Twin | Bunks | Pullman | Quarter berth. A forward V is "V-berth"; one double bed is "Double"; two singles are "Twin"; stacked bunks are "Bunks".
- `sleeps`: Sleeps; number. How many people sleep in this cabin.
- `ensuite`: Ensuite head; yes | no. Only when the text says this cabin has its own head.
- `ownersCabin`: Owner's cabin; yes | no. Only when the text calls it the owner's, master, or main cabin.
### `galleyAppliances` (Galley appliances)
- `name`: Appliance. One entry per named galley appliance: oven, microwave, dishwasher, icemaker, coffee machine.
- `brand`: Brand
### `head` (Heads)
- `location`: Location. Where the head sits: forward, aft, day head. One entry per head the text names.
- `toiletType`: Toilet type; one of: Manual | Electric | Composting | Vacuum. A hand-pump or Jabsco lever head is "Manual". VacuFlush and vacuum-flush are "Vacuum". A dry or composting head is "Composting".
- `waterType`: Water type; one of: FRESH | RAW | NONE. A freshwater flush is "FRESH"; a seawater or raw-water flush is "RAW"; a composting or dry head is "NONE".
- `shower`: Shower; yes | no. Only when the text says this head has a shower.
### `engine` (Engine)
- `engineType`: Engine type; one of: INBOARD | OUTBOARD | STERNDRIVE | POD | ELECTRIC | OTHER. A diesel below decks, shaft or saildrive, is "INBOARD". Use "OUTBOARD" only for an engine hung on the transom.
- `engineTypeOther`: Your engine type
- `driveType`: Drive type; one of: Shaft | Saildrive | Pod | Other. Saildrive, SD and sail drive legs are "Saildrive". A conventional shaft and strut is "Shaft".
- `propellerType`: Propeller; one of: Fixed | Folding | Feathering | Controllable pitch | Other. A prop that folds when sailing is "Folding"; one that turns its blades edge-on is "Feathering"; a solid wheel is "Fixed".
- `fuelType`: Fuel type; one of: DIESEL | GAS | ELECTRIC | HYBRID | OTHER. Petrol and gasoline are "GAS". An engine the text does not give a fuel for is not automatically "DIESEL".
- `fuelTypeOther`: Your fuel type
- `brand`: Brand. Engine builder only: Yanmar, Volvo Penta, Perkins, Caterpillar, Cummins, Beta. Not the model number.
- `model`: Model. Model designation only, character for character: 4JH4-TE, 3YM30, 4-108M, 3116.
- `hp`: HP; number. Rated horsepower as a number. 2x 75hp is 75 on each of two entries, never 150.
- `hours`: Hours; number. Engine hours. When the text gives two engines different hours, put each figure on its own entry.
- `year`: Year; year. The year this engine was built or installed new. A rebuild, overhaul or service year is not the engine year; leave it out when that is all the text gives.
- `side`: Side / position. Port, starboard or centre, when the text tells the engines apart.
### `thrusters` (Thrusters)
- `location`: Location; one of: Bow | Stern. One entry per thruster: bow and stern thrusters are two entries, not one.
- `brand`: Brand. Thruster builder: Side-Power, Sleipner, Vetus, Lewmar.
- `hp`: HP; number
- `year`: Install year; year
### `hvac` (Climate control)
- `brand`: Brand
- `model`: Model
- `btu`: BTU; number. Cooling capacity in BTU. One entry per unit when the text names several.
- `mode`: Mode; one of: COOLING | HEATING | REVERSE_CYCLE. Air conditioning that also heats is "REVERSE_CYCLE"; a cabin heater alone is "HEATING"; cooling only is "COOLING".
- `heatSource`: Heat source; one of: Diesel forced-air (Webasto / Espar) | Hydronic (diesel boiler) | Diesel stove (Dickinson / Refleks) | Propane heater (Dickinson / Force 10) | Electric | Wood / solid fuel | Other. Webasto and Espar blown-air units are "Diesel forced-air (Webasto / Espar)". A Dickinson or Refleks bulkhead stove is "Diesel stove (Dickinson / Refleks)".
- `year`: Year; year
- `serves`: Serves
### `shorePower` (Shore power)
- `amps`: Amperage; one of: 15A | 16A | 30A | 32A | 50A | 63A | 100A | 125A. The inlet's amperage rating. One entry per inlet: a listing of (2) 16 amp inlets is two entries. "30A" and "50A" are US and Canada; "16A", "32A" and "63A" are the 230V standard; "15A" is Australia. Never round a 16A inlet to "30A".
- `volts`: Voltage; one of: 120V | 230V | 120/240V. 110V, 115V, 120V and 125V are all "120V". 220V, 230V and 240V on a European, Australian or NZ boat are all "230V". A US inlet given as 125/250V, 120/240V or 240V beside a 50A or larger rating is "120/240V". Omit when no voltage is stated.
- `frequency`: Frequency; one of: 50Hz | 60Hz. Only when the text states it. "50Hz" or "60Hz". Never infer it from the voltage or the country.
- `notes`: Notes
### `batteryBanks` (Battery banks)
- `purpose`: Purpose; one of: HOUSE | STARTING | THRUSTER | WINDLASS | OTHER. The domestic or service bank is "HOUSE"; the engine-start bank is "STARTING".
- `purposeOther`: Bank purpose
- `brand`: Brand. Battery builder: Victron, Battle Born, Lion, Relion, Trojan, Lifeline, Firefly. Not the charger, the inverter or the battery monitor's maker.
- `chemistry`: Chemistry; one of: Lead acid | AGM | Gel | Lithium (LiFePO4) | Other. LiFePO4, LFP and lithium all mean "Lithium (LiFePO4)". Flooded, wet-cell, Trojan and golf-cart batteries are "Lead acid". AGM and gel are their own options. Chemistry with no other detail still gets an entry: chemistry only, no purpose, amp-hours or voltage.
- `capacityAh`: Total capacity (Ah); number. Total amp-hours in this bank. 4x 100Ah is 400. A watt-hour figure is not amp-hours.
- `voltage`: Voltage; one of: 12V | 24V | 48V. The bank's nominal voltage.
- `year`: Install year; year. Year these batteries were installed.
### `inverter` (Inverter / charger)
- `kind`: Type; one of: Inverter | Charger | Inverter-charger. What the unit does. An inverter/charger, combi or MultiPlus is "Inverter-charger". An inverter with no charging mentioned is "Inverter". A battery charger with no inverter is "Charger". Answer this for every entry.
- `brand`: Brand. Inverter or charger builder: Victron, Mastervolt, Xantrex, Magnum. An entry only when the text names an inverter, an inverter/charger or a battery charger. A battery monitor or shunt on its own is not one: no entry at all.
- `model`: Model
- `outputWatts`: Output (W); number. The unit's headline rating in watts; a VA rating counts as watts. 3kW is 3000. Victron puts it mid-name: Quattro 12/5000/220 is 5000. A charger's amps belong to chargeAmps. A battery monitor alone gets no entry.
- `chargeAmps`: Charger output (A); number. Charging output in amps, for a charger or an inverter/charger. 100A is 100. An inverter's watt rating is not an amp rating.
- `serves`: Serves
- `year`: Year; year
### `sails` (Sails)
- `name`: Sail. One entry per sail the text names: main, genoa, jib, staysail, spinnaker, code zero.
- `year`: Year; year. Year this sail was made or bought. A span such as renewed 2025/2026 gives the LATER year.
- `cloth`: Cloth. Sail cloth or maker as the text gives it: Dacron, laminate, North, Quantum.
- `areaSqFt`: Sail area; unit: sq ft | m2. Area of THIS sail, not the boat's total, as written: 45 m² is 45 m2. Never convert.
- `loft`: Sailmaker. The sailmaker: North, Quantum, Doyle, Elvstrom, Incidence. Not the cloth, which has its own field.
- `furling`: How it sets; one of: Hank-on | Roller furler | In-mast | In-boom | Top-down furler | Sock | Other. A sail on a foil or drum is "Roller furler"; rolling into the mast is "In-mast", into the boom "In-boom"; a spinnaker on a cable is "Top-down furler"; in a snuffer or sock, "Sock"; shackled to the forestay, "Hank-on".
- `condition`: Condition; one of: New | Good | Serviceable | Tired. Only when the text judges the sail: nearly new is "New"; excellent or recently replaced, "Good"; usable or fair, "Serviceable"; blown out or stretched, "Tired".
### `generator` (Generator)
- `brand`: Brand. Generator builder: Onan, Northern Lights, Westerbeke, Fischer Panda, Kohler, Next-Gen.
- `kw`: Output (kW); number. Output in kilowatts. 9.5kW is 9.5. kVA counts as kW: 11 kVA is 11.
- `fuelType`: Fuel type; one of: DIESEL | GAS | OTHER
- `hours`: Hours; number. Generator hours, which are not the engine's hours.
- `year`: Year; year
### `waterHeater` (Water heater)
- `brand`: Brand
- `capacityGal`: Tank size; unit: gal | L | imp gal. Tank size, as written: 40L is 40 L. Never convert.
- `engineHeats`: Engine heating; yes | no
- `heatSource`: Heating source; one of: Electric (AC) | Electric (DC) | Diesel heater loop | Propane | None (engine only)
- `year`: Year; year
### `groundTackle` (Anchors & ground tackle)
- `makeModel`: Make and model. One entry per anchor the text names. The make, model and size as the text writes them, such as Mantus M1 45 lb, Rocna 25 kg or CQR 45. Never the design family alone unless that is all the text says.
- `weightLb`: Weight; unit: lbs | kg | t. The anchor's weight, as written: 33kg is 33 kg. Never convert; quote the original words.
- `isPrimary`: Primary anchor; yes | no. True for the one anchor the text calls the main, primary or bow anchor. When the text names one anchor, it is the primary.
- `note`: Note. What the text says the anchor is for, in a few words: kedge, stern anchor, storm anchor, spare.
### `extras` (Anything else)
- `title`: What is it?. One entry per item the text lists that no other field covers. A washer/dryer, an enclosure, radar, davits or a paid duty has its own field, so it is never an extra. A short name, in the seller's own words.
### `escapeHatches` (Escape hatches)
- `location`: Location
- `opening`: Does it open?; one of: OPENING | FIXED
- `brand`: Brand
- `year`: Installed or replaced (year); year