Customer Promise

Residents can rely on:

  • White-glove pickup and return β€” we handle the logistics
  • Searchable inventory β€” find any item instantly via photos, tags, descriptions
  • Predictable scheduling β€” 48-hour lead time, bookable weeks/months in advance
  • Clear chain-of-custody β€” always know where your items are

Never have to...

Drive to storage or guess item status.

Service Model

What Customers Get

FeatureDescription
Pickup ServiceWe come to you, pick up items with 48-hour notice
StorageClimate-controlled facility, documented location
Inventory PortalPhotos, descriptions, tags β€” searchable digital catalog
Delivery ServiceItems returned to you with 48-hour notice
Advance SchedulingBook up to 365 days ahead (seasonal, holidays)
Baseline Insurance$2,000 included coverage
14-Day TrialComplimentary trial to explore portal and create inventory

New Customer Flow

  1. Sign up β€” Customer subscribes via Stripe Checkout
  2. 14-day trial begins β€” No charge during trial period
  3. Create inventory β€” Customer adds items with photos, descriptions, tags
  4. Schedule first pickup β€” Book directly in the portal (native Google Calendar slots, 48-hour lead)
  5. First billing β€” Trial ends, monthly billing begins ($299/month)

What Customers Create

Important

Customers create their own inventory. Storage Valet is logistics, not cataloging.

  • Customer adds item names, descriptions, keywords
  • Customer uploads photos (1-5 per item)
  • Customer tags items for easy search (holiday, fragile, kid1, etc.)
  • Search "holiday decorations" β†’ find Christmas ornaments instantly

Language Guidelines

Use βœ“Don't Use βœ—
"as needed""on-demand"
"48-hour lead time""instant" or "same-day"
"schedule returns""request delivery"
"planned pickup""on-demand retrieval"

Portal Overview

Purpose (Non-Negotiable)

For Customers:

  • Manage inventory (add, edit, delete items)
  • View item state (home, stored, scheduled)
  • Schedule services (pickups, deliveries)
  • Recover items if booking canceled

For SV Ops:

  • Capture item/service data
  • Enable batching and density
  • Produce operational metrics

Excluded: Real-time tracking, complex pricing dashboards, ops micromanagement UIs

Customer Surfaces (6)

portal.mystoragevalet.com serves the sv-portal-2026 codebase (since Jun 10, 2026).

SurfacePurpose
LoginMagic link authentication
DashboardInventory overview + booking management
Items + Add ItemItem catalog; photos-first item creation
Item DetailSingle-item view — schedule, reschedule, revert, remove
BookingItems-first scheduling flow (native Google Calendar slots)
AccountProfile, billing, settings

Staff/Admin Routes (Not Customer-Facing)

Staff tooling lives in the v2 portal’s /ops surface (portal.mystoragevalet.com/ops), staff-gated (is_staff()) and AAL2-stepped-up — shipped W1.4. (v1 and its ops surface were decommissioned Jun 29, 2026.)

RoutePurpose
/opsOperations dashboard (staff-gated)
/admin/waitlistWaitlist management (staff-gated)
/admin/customersCustomer management (staff-gated)

Item Lifecycle

Item States

StateMeaningCustomer Actions
homeItem is at customer's addressSchedule Pickup
scheduledItem is scheduled for pickup or delivery (type determined by booking context: pickup_item_ids or delivery_item_ids)Cancel / Revert, Remove from Booking
storedItem is in SV facilitySchedule Delivery
in_transitItem is currently being moved (pickup or delivery in progress)β€”

State Transitions

[Created] β†’ HOME ←──────────────────────────┐
              β”‚                              β”‚
              β”‚ schedule_pickup              β”‚ delivery_completed
              β–Ό                              β”‚
       SCHEDULED (pickup) ───────────────────
              β”‚         cancel/fail          β”‚
              β”‚         (revert β†’ HOME)      β”‚
              β”‚                              β”‚
              β”‚ pickup_completed             β”‚
              β–Ό                              β”‚
           STORED ←──────────────────────────
              β”‚                              β”‚
              β”‚ schedule_delivery            β”‚
              β–Ό                              β”‚
       SCHEDULED (delivery) β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              β”‚         cancel/fail
              β”‚         (revert β†’ STORED)

Note: DB status is `scheduled` in both cases.
Pickup vs delivery is determined by booking arrays
(pickup_item_ids / delivery_item_ids).

Critical Rule

Scheduled states are NEVER terminal. Every scheduled item MUST have a customer-visible revert action.

Booking Workflow (Items-First, Native Scheduling)

Overview

Customers book entirely inside the portal: select items, pick a slot from native Google Calendar availability (48-hour lead, up to 365 days out via the month-paged picker), and confirm. Confirming creates the event on the “SV Bookings” calendar; canceling or reverting deletes it. All writes go through fn_v2_* SECURITY DEFINER RPCs.

Flow

  1. Select Items β€” Choose items at home to pick up (or stored items to deliver)
  2. Pick a Slot β€” Availability = plan service windows ∩ 48-hour lead ∩ calendar FreeBusy (get-available-slots)
  3. Booking Created β€” pending_confirmation with items attached (item status → scheduled)
  4. Confirm β€” Booking → confirmed; Google Calendar event created
  5. Service Completed β€” Items transition (pickup → stored, delivery → home)

Booking Statuses

StatusMeaningCustomer Action
pending_confirmationItems attached, awaiting customer confirmationEdit Items, Confirm, Cancel
confirmedConfirmed; calendar event liveCancel, Reschedule
completedService finishedβ€”
canceledBooking canceled; items revertedβ€”

pending_items and in_progress exist in the action_status enum for legacy v1-era records only; the current booking lifecycle does not use them.

Cancellation Behavior

Canceling a confirmed booking deletes the Google Calendar event and reverts scheduled pickup items back to home and scheduled delivery items back to stored.

Customers can also revert individual items off a scheduled booking; items revert based on their scheduled kind (pickup items → home, delivery items → stored).

Entitlement Gate (Jun 10, 2026)

Item creation and adding pickup items to a booking require an entitled membership (subscription_status active/trialing/past_due); otherwise the server raises SV_NOT_ENTITLED. Deliveries, cancel, revert, and reschedule are never gated — customers can always recover their inventory. sv.staff identities bypass the gate.

Inventory Features

Item Creation

Customers create items with:

  • Label β€” Item name (required)
  • Description β€” Details about the item (required)
  • Photos β€” 1-5 photos per item (at least 1 required)
  • Category β€” Optional categorization
  • Tags β€” Searchable keywords

Search & Filter

Customers can search by: Label (item name), Description text, Tags/keywords, Status (home, stored, scheduled), Category

Tag Taxonomy (Recommended)

GroupExample Tags
Categoryclothing, shoes, toys, baby, kitchen, decor, sports, documents
Seasonalitywinter, summer, holiday, back_to_school
Roomcloset, nursery, kitchen, entryway
Ownerzach, spouse, kid1, kid2, kid3
Handlingfragile, heavy, electronics, keep_upright
Use-casedonate_later, keepsake, hand_me_down
Valuehigh_value, declared_value_required

Example Item Record

Title: "Holiday dΓ©cor β€” ornaments + stockings"
Description: "2 ornament boxes, 6 stockings, 1 table runner; deliver after Thanksgiving."
Tags: holiday, decor, fragile, seasonal
Declared value: $500
Notes: "Customer prefers Friday delivery window."

Subscription & Billing

Pricing

  • $299/month β€” Single plan, no tiers
  • 14-day trial β€” Complimentary on all new subscriptions
  • No setup fee β€” Eliminated for simplicity

Billing States

StatusMeaningPortal Access
activeSubscription currentFull access
past_duePayment failed, grace periodLimited (no new bookings)
canceledSubscription endedRead-only inventory
trialingTrial periodFull access

Billing Management

Customers manage billing via Stripe Customer Portal (hosted by Stripe):

  • Update payment method
  • View invoices
  • Cancel subscription

Design Principles for Customer Experience

  1. Customer clarity > internal convenience β€” Always show clear item state
  2. Items > bookings β€” Items are persistent; bookings are transient
  3. No dead ends β€” Every state has a clear next action
  4. Revert paths are mandatory β€” Customers can always recover from scheduled states