Business Terms

TermDefinition
Storage ValetThe company name and service. Premium concierge storage for Hudson County, NJ.
Concierge StorageStorage service where the provider handles pickup and delivery (vs. self-storage).
As NeededApproved language for describing delivery service. Implies 48-hour advance notice. NEVER say "on-demand."
Service AreaGeographic region where pickup/delivery is offered. Currently 19 ZIP codes across 15 municipalities: all 12 Hudson County towns (Hoboken, Jersey City, Weehawken, Union City, West New York, Guttenberg, North Bergen, Secaucus, Kearny, Harrison, East Newark, Bayonne) plus Edgewater, Cliffside Park, and Fairview in Bergen County. Note 07029 covers Harrison and East Newark; 07093 covers West New York and Guttenberg.
Out of Service AreaCustomer address outside launch ZIP codes. Soft gate, not rejected.
Items-First BookingThe portal booking model: customer selects items, picks a native Google Calendar slot (48-hour lead, up to 365 days out), and confirms โ€” all inside the portal.
Entitlement GateServer-side membership assertion (SV_NOT_ENTITLED) on the RPCs that grow stored inventory (item create, pickup attach). Recovery paths (delivery, cancel, revert, reschedule) are never gated; sv.staff bypasses.
48-Hour Lead TimeStandard advance notice required for pickups/deliveries. It is operating procedure, not an acquisition selling benefit; state it in booking, FAQ, terms, and operational contexts.
Price-Lock PromiseThe standard rate protection every member gets: the rate is held for the first 12 months. Any later adjustment is modest, at most annual, inflation-aligned, and announced 30 days ahead; a member may cancel before it takes effect with a free final delivery. Codified in Terms of Service §3.
Membership rate guaranteeThe partner-property benefit: a resident of a participating property keeps the $299 rate for as long as they live at that address. It is tied to the building and does not expire, unlike the retired four-month resident discount it replaced (DEC-025, Sep 11, 2026). Implementation pending: a Terms line beside the Price-Lock Promise, and a tag on partner subscriptions so a future price change never touches them.
White-GlovePremium, careful handling of customer belongings.

Customer Terms

TermDefinition
ItemA customer-owned belonging tracked in the inventory system.
InventoryThe collection of items a customer has cataloged.
PortalCustomer-facing web application at portal.mystoragevalet.com.
BookingA scheduled service (pickup or delivery). Represented as action in database.
Schedule a ReturnThe canonical customer-facing action for a stored item (founder-ratified Jul 20, 2026; supersedes "Schedule Delivery," retires "Request Delivery"). Label only — the DB/transition vocabulary stays schedule_delivery/redelivery.
QR CodeUnique identifier for each item. Format: SV-YYYY-NNNNNN.

Item States

StateDefinition
homeItem is at customer's address.
scheduledItem is scheduled for a service (pickup or delivery). The type is determined by the booking's pickup_item_ids or delivery_item_ids arrays, not the item status itself. UI may display "Scheduled (pickup)" or "Scheduled (delivery)" as labels.
in_transitItem is being moved (pickup or delivery in progress).
storedItem is in Storage Valet facility.

Booking Statuses

StatusDefinition
pending_confirmationItems attached, awaiting the customer’s confirmation. Confirming creates the Google Calendar event.
confirmedConfirmed by the customer; calendar event live. Cancel and reschedule remain available.
completedService finished.
canceledBooking canceled; items reverted.

Technical Terms

TermDefinition
PortalCustomer-facing React web app. Hosted on Vercel at portal.mystoragevalet.com.
Edge FunctionsServerless functions on Supabase (Deno runtime). Handle webhooks.
RLS (Row Level Security)PostgreSQL feature enforcing data isolation. Users only see their own data.
Signed URLsTime-limited URLs for private storage bucket access. 1-hour expiry.
Magic LinksEmail-based authentication (no passwords). Click link โ†’ authenticated. Links land at /auth/confirm?token_hash=โ€ฆ (prefetch-safe, works across browser contexts).
CustodyAn item is “in custody” when it is physically in Storage Valet’s hands โ€” stored, or scheduled for delivery. Custody drives the capacity and coverage meters (fn_v2_item_in_custody).
WebhookHTTP callback from external service (Stripe, Calendly).
IdempotencyProcessing duplicate events only once via unique constraints.

Database Terms

TermDefinition
customer_profileTable storing user account data. 1:1 with auth.users.
itemsTable storing customer inventory.
actionsTable storing service requests (pickups, deliveries).
booking_eventsAudit table logging booking lifecycle events.
inventory_eventsAudit table logging item movement events.
SECURITY DEFINERPostgreSQL function that runs with creator's permissions.

Integration Terms

TermDefinition
Stripe CheckoutHosted payment page for subscription signup.
Stripe Customer PortalHosted billing management page.
Stripe WebhookHTTP callback from Stripe for payment events.
SV BookingsFounder-owned Google Calendar that the scheduling service account (sv-calendar@sv-scheduling) writes booking events to. The live scheduling layer since Jun 10, 2026.
CalendlyLegacy v1 scheduling tool. No longer the live booking layer; remains only as v1’s read-only webhook path.
Calendly WebhookHTTP callback from Calendly for legacy v1 booking events (HMAC verification enabled, fails closed).

Metrics

MetricDefinition
CUMContainers Under Management โ€” count of active containers.
IUMItems Under Management โ€” count of cataloged items.
DVUMDeclared Value Under Management โ€” sum of customer-declared item values.
Contribution MarginRevenue minus variable costs per customer.
CACCustomer Acquisition Cost โ€” all-in cost to acquire a customer.
LTVLifetime Value โ€” contribution margin ร— average customer lifetime.
Golden Ratio(Revenue per sqft leased) รท (Cost per sqft leased).

Subscription Statuses

StatusDefinition
activeSubscription current, full portal access.
past_duePayment failed, grace period. Limited access.
canceledSubscription ended. Read-only inventory.
trialingTrial period. Full access.
inactiveNot yet subscribed.

Service Area ZIP Codes

CityZIP Codes
Bayonne07002
Cliffside Park07010
Edgewater07020
Fairview07022
Harrison / East Newark07029
Hoboken07030
Jersey City07302, 07304, 07305, 07306, 07307, 07310, 07311
Kearny07032
North Bergen07047
Secaucus07094
Union City07087
Weehawken07086
West New York / Guttenberg07093

Total: 19 active ZIPs across 15 municipalities — all 12 Hudson County towns plus Edgewater, Cliffside Park and Fairview in Bergen County. Expanded Aug 26, 2026 (DEC-024); public.service_areas is the source of truth. Fort Lee (07024) is deliberately excluded.

Pricing

TermValue
Monthly Price$299/month
Trial PeriodComplimentary first month (30 days) on all new subscriptions
Setup FeeNONE โ€” eliminated for simplicity
Included Coverage$2,000 baseline insurance per subscription
Plan Capacity200 cubic feet included per subscription

Trial Purpose

Gives customers time to explore the portal, create their digital inventory, and schedule their first pickup before billing begins.

Container Catalog

ContainerCubic FeetPrice
Storage Bin1.25$15
Storage Tote2.67$20
Storage Crate5.56$25

Referral Program (W4, live Jul 2026)

RewardAmount
Friend (referee)Not live. Designed as $100 off the first month via a personal member code on Stripe coupon REFERRAL100, auto-applied through the share link. That coupon was not found in live Stripe on Sep 7, 2026, and a first-month discount is worth $0 under the complimentary first month — what the reward becomes is an open founder decision.
Referrer$100 account credit, applied manually by ops on the friend’s first payment (Phase 1)

Service Types

TypeCodeDefinition
PickuppickupCollect items from customer, transport to storage.
RedeliveryredeliveryReturn stored items to customer.
Container Deliverycontainer_deliveryDeliver empty containers (future feature).

Repository Terms

TermDefinition
sv-portalv1 customer portal (Vite 5 / React 18, Calendly-era). Decommissioned + archived Jun 29, 2026 (DEC-021): frontend retired, v1-only edge fns/RPCs/views removed; ops moved to the v2 /ops surface.
sv-portal-2026LIVE customer portal at portal.mystoragevalet.com since Jun 10, 2026 (Vite 8 / React 19 / Tailwind 4, v6 Midnight Teal, native Google Calendar, RPC-only writes); frontend-only, reuses sv-edge + sv-db.
sv-edgeSupabase Edge Functions repository (shared backend for both portals).
sv-dbDatabase migrations repository (shared backend for both portals).
sv-docsOperational scripts, runbooks, and documentation archive.
sv-websiteStatic marketing site; calls sv-edge functions for signup/partnership (not standalone).
sv-wikiInternal team wiki (static HTML, hosted on Vercel at wiki.mystoragevalet.com).
CLAUDE.mdAI agent context file in each repository.

Brand Terms

TermDefinition
Operation Midnight TealThe founder-ratified Storage Valet brand system (v6.2, Jul 20, 2026). v6.1 is the editorial foundation; v6.2 adds controlled marketing energy without changing the locked palette or typography. See Brand Identity.
Visual implementation authority/Users/zacharybrown/Documents/storagevalet/Brand/Brand System (Operation Midnight Teal)/claude-design-system/theme.css. It governs visual primitives, semantic tokens, components, patterns, and motion; repository stylesheets are downstream adapters.
Design masterA brand-package template containing placeholders and implementation guidance. It is not a production-ready print or send export until every fact, offer, URL, promo code, QR destination, media asset, accessibility requirement, and output specification has been validated.
Electric TealThe accent color (#00D4AA). CTA fills (both modes); icons, focus, accent text on dark surfaces only.
MidnightPrimary dark surface (#0A1628). Cards, nav, footer, CTA button text.
Storm / MistFull-opacity body text tokens. Storm (#3D4F54) on light surfaces; Mist (#8BA4A8) on dark. They never cross modes.
Link TealText links and interactive text on light backgrounds (#007A62). The light-mode counterpart to Electric Teal.
Semantic tokenA CSS custom property that resolves to different palette values based on mode โ€” e.g., --sv-accent-text resolves to Electric Teal in dark mode and Link Teal in light mode.
Palette lockThe rule that the brand palette contains exactly 12 colors (3 dark + 4 teal + 5 neutral). No new hex values may be added.