SPOT CC
SPOT is a full-stack SaaS platform for container storage rentals. It handles booking flows, 30-day rental logic, Stripe checkout and subscriptions, payment failure handling, KYC and phone verification, contract acceptance, admin operations, and access/PIN eligibility rules.
Currently in active development. Core booking, billing, and verification systems are already implemented.
Problem
Container storage rentals are not just a checkout flow. The platform needed to coordinate booking windows, rental periods, payments, verification, contract acceptance, admin operations, and access eligibility without letting business rules drift across the codebase.
Constraints
- Rental periods had to follow fixed 30-day blocks with a limited start-date window.
- Access/PIN sharing needed to depend on payment status, rental start date, KYC, phone verification, and contract acceptance.
- Stripe billing events had to stay synchronized with internal booking and rental lifecycle state.
- Admin workflows needed to cover locations, containers, pricing, bookings, contracts, customers, staff, users, and operational actions.
- Rental, billing, verification, contract, and access states had to stay consistent across public booking flows, protected admin workflows, API routes, and Stripe webhook events.
Approach
Rental Policy and Booking Flow
Centralized rental rules for draft bookings, checkout states, start-date validation, 30-day rental blocks, renewals, cancellation timing, and move-out windows.
Stripe Billing Lifecycle
Integrated Stripe Checkout, subscriptions, and webhooks to synchronize billing periods, initial payment success, payment failures, grace periods, and access suspension rules.
Verification and Access Eligibility
Connected Didit KYC, SMSAPI phone verification, contract acceptance, payment status, rental start date, and container PIN/access-sharing rules into one lifecycle model.
Protected Admin Operations
Built admin workflows for managing locations, containers, categories, pricing plans, bookings, contracts, customers, staff, users, and operational actions.
Contract Evidence and Maintainability
Implemented versioned contract acceptance, evidence package data, signed contract PDF generation/storage, R2-backed signature storage, reusable UI components, validation helpers, and project-level Vitest/Playwright coverage.
Implementation Highlights
Booking and Rental Lifecycle Rules
Implemented draft bookings, checkout states, start-date validation, 30-day rental blocks, renewals, cancellation timing, move-out windows, and lifecycle status handling.
Stripe Subscription Billing
Connected Stripe Checkout, subscriptions, and webhooks with internal booking state to handle billing period synchronization, successful payments, payment failures, grace periods, and access suspension.
KYC, Phone, Contract, and Access Logic
Coordinated access eligibility across identity verification, phone verification, contract acceptance, payment status, rental start date, and container PIN/access-sharing logic.
Admin Operations Dashboard
Built protected admin workflows for locations, containers, categories, pricing plans, bookings, contracts, customers, staff, users, and operational actions.
Contract Evidence and Storage
Implemented versioned contract acceptance, evidence packages, signed contract PDF generation/storage, and Cloudflare R2-backed signature storage.
Maintainable Product Architecture
Kept business rules centralized with policy helpers, reusable UI components, i18n message files, API route handlers, validation helpers, and project-level Vitest/Playwright coverage.
Results
30-Day Blocks
Rental Lifecycle
Modeled bookings, renewals, cancellations, grace periods, move-out windows, and access eligibility around fixed rental periods.
9+ Admin Areas
Operational Coverage
Built admin workflows for locations, containers, pricing, bookings, contracts, customers, staff, users, and operational actions.
Stripe + KYC + SMS + R2
Integration Scope
Integrated payments, identity verification, phone verification, contract evidence, signature storage, and webhook-driven backend logic.
Next Steps
Next improvements would focus on deeper admin reporting, additional operational automation, renewal/reminder visibility, and broader test coverage around payment, contract, and access lifecycle edge cases.