Register a plate and turn on auto-pay
Goal: drive into a Turtini-powered garage, drive out, get charged automatically, never touch a kiosk.
**1. Add the plate**
`/me/parking → Plates → + Register a plate`. Required: the plate number. Optional but useful: state, a nickname ("Daily Driver"), make/model/year, EV flag.
The plate is normalized server-side (uppercase, dashes stripped) — that's the key the camera pipeline matches against, so don't worry about formatting.
**2. Add a default card**
"Add a card" on the plate row → kicks off a Stripe Setup-Intent flow. The card lands on **your Turtini platform-account customer** — one customer, one card on file, shared across every garage you visit. Garages never see the card directly; the auto-pay function clones the payment method onto each garage's Stripe Connect account on first use (cached after that).
**3. Set the expense-routing org (optional)**
"Route work-trip parking to" → pick the employer you want billed when you're traveling on business. The mechanism is conservative: it only fires when a session overlaps a trip on `/me/trips` marked `tripType: 'work'`. Personal trips (or no trip at all) still charge your card.
**4. Trust the camera**
Next time you drive into a participating garage:
• Camera reads your plate.
• Pipeline matches it to your `parkingPlatesOnFile` doc.
• Session opens with `linkedUserId` stamped.
• When you exit, off-session Stripe charge runs.
• You see it on /me/parking → Sessions within seconds, complete with a receipt.
**Turning auto-pay off without removing the plate**
Hit the "Auto-pay on/off" pill. The camera still resolves the plate (so you still see the session in your dashboard), but the gate falls back to QR-pay every time. Useful if you want sessions visible but want to approve each charge.
**Removing a plate**
Plate row → "Remove this plate" → confirm. Future sessions for that plate won't auto-pay or appear in your dashboard. Past sessions stay (so receipts and audit history aren't broken).
**Privacy**
Operators never see your card number, your name (unless you opt into a loyalty program with that operator), your other plates, or your other sessions. They see: this plate, this time, this lot, the auto-pay status of THIS session. Your `parkingPlatesOnFile` doc is owned by your user; firestore rules deny org-side reads. The camera-trigger pipeline accesses it via server-side admin credentials only.