Tree Inventory AI

Customers and Sites

How customers, addresses, and trees fit together — the data model that makes site-level reports work.

Trees don't belong to customers. They belong to addresses (job sites). A single customer can own a residence, a rental property, and a commercial lot — three addresses, three separate tree inventories. This page explains why the model works that way and how to use it day-to-day.

Quick Start

  • Add a customer with name + email.
  • Add one or more addresses under that customer.
  • Capture trees at an address. Trees stay with the address forever, across visits and across staff turnover.
  • Generate reports per address — that's the unit of work clients pay for.
  • Archive customers and addresses you're done with; never delete if there's history attached.

The model in one sentence

Customer → Address → Tree.

A customer (person or company) has zero or more addresses. Each address has zero or more trees. Trees never link directly to a customer — always through the address.

Why addresses, not customers, hold the trees

Three reasons, in order of how often they bite:

  1. Same customer, multiple properties. A single homeowner with a primary residence and a vacation rental needs two distinct inventories. A property management firm with 40 buildings needs 40. If trees lived on the customer, you couldn't tell which property a tree belongs to.
  2. Properties change hands, trees don't. When a property sells, the trees stay put. The new owner inherits the inventory, the maintenance history, the photos. Tying trees to addresses lets you re-assign the address to the new customer without touching tree records.
  3. Reports are site-level. The deliverable a client pays for is "an inventory of the trees at 1247 Oak Street." Not "every tree the Smiths own across three properties." The PDF, the CSV export, the GeoJSON — they're all scoped to one address.

Adding a customer

  1. Open the home screen

    The customer list is the first thing you see when you open the app. Tap Add customer at the top right.

  2. Enter name + email

    Name is required. Email is optional but strongly recommended — it's how you'll send reports later, and it's how the customer gets a copy when you share a report link.

  3. Save

    The customer appears in your list. They have zero addresses for now. Tap their name to add the first one.

Adding an address

From a customer's detail screen:

  1. Tap Add address

    The address form opens.

  2. Enter the full street address

    Street, city, state, zip. The app geocodes the address to a lat/lng so the GIS view and map markers work later.

  3. Give it a nickname

    Optional but useful when a customer has multiple addresses. "Main residence", "Rental on Elm", "HQ parking lot" — anything that helps you tell them apart at a glance.

  4. Save

    The address now lives under the customer. Tap into it to see the (empty) tree list and start capturing.

Editing customers and addresses

Both customer and address records are editable from their detail screens. Tap the menu at the top right and choose Edit.

Common edits:

  • Customer email changes — update so future report shares go to the right inbox.
  • Address typo — fix the street name; the geocoded coordinates re-resolve automatically.
  • Nickname — rename for clarity as your customer list grows.

Edits don't touch tree records. The trees and their photos stay exactly where they were.

Archiving instead of deleting

You can't delete a customer or address that has any history — trees, reports, voice notes — attached. Archive instead.

Archive a customer: customer detail → ⋯ menu → Archive. The customer disappears from the active list but remains in the database. All their addresses and trees are still queryable. You can unarchive at any time.

Archive an address: same flow from the address detail screen. The trees stay; the address just hides from the active list.

Trees persist across visits

Every time you walk a property and capture trees, the captures are timestamped. The app groups captures within a 30-minute window into a "visit" — useful for reports that compare year-over-year condition.

Visit one (March 2025): you tag 47 trees, generate a report. Visit two (March 2026): you re-walk the property. The 47 trees are already there. Update the ones whose condition changed. Add new ones. Mark removed ones as removed.

The address is the unit of continuity. Trees gain visit history; you don't re-create them every time.

Pin numbers are scoped to the address

Inside one address, every tree gets a sequential pin number — 1, 2, 3, 4. These pin numbers are stable: tree #14 stays tree #14 across visits.

Pin numbers are NOT global. Tree #14 at 1247 Oak Street has nothing to do with tree #14 at 882 Maple. The address scopes them. This matters when Arboris (the AI assistant) talks about specific trees — it always pairs the pin with the address.

Multi-org and shared addresses

If you work for multiple organizations (your own consultancy plus a contract role at a municipal forestry team), each org has its own customer + address records. There's no cross-org sharing of trees — the same physical address captured under two different orgs is two separate inventories.

If your team grows and you want multiple arborists capturing trees at the same address, invite them to your org instead of duplicating the address into theirs. See Team and Roles for the invite flow.

Common Questions

Can I move an address from one customer to another? Yes. Address detail → ⋯ menu → Reassign. Pick the new customer. Trees and history move with the address.

What if a customer doesn't have an address yet? Fine — add the customer now, the address later. You can't capture trees until there's an address, but the customer record is valid on its own.

Can two customers share an address? The model is one address per customer. If you need to bill two parties for the same property (e.g. landlord + property manager), make a duplicate address under each. The trees won't sync between them, but you can reassign the address later if the relationship simplifies.

How do I find an address quickly when I have hundreds? The customer list has a search box at the top — search by customer name, email, address, city, or nickname. Hits resolve down to the exact address.

What if the geocoder gets the address wrong? Open the address, tap the location field, drag the pin on the map. Manual coordinates override the geocoded value.

Related

  • Getting Started — the first-run flow that walks you through adding your first customer + address
  • Capturing Trees — what to do once you're standing on a property
  • Sharing Reports — generating and delivering the per-address PDF
  • Team and Roles — bringing teammates into your customer + address data
Last updated 2026-05-03