Changelog
Recent updates and improvements to ChargePeer.
- Provider response time — booking cards now show how quickly the provider accepted (e.g., “Accepted in 12s”)
confirmed_at column added to bookings table, set on creation provider_response_time and confirmed_at fields returned in GET /api/bookings/mine response - Blog post: “Provider Response Time — Know How Fast Your Charger Confirmed”
- Pending payout indicator on provider dashboard — colored card shows unpaid balance at a glance
pending_payout field added to GET /api/provider/stats response (total earned minus total paid out)
- Contact form persistence — submissions now stored with reference number tracking
- Auth middleware now returns proper 401 status on session expiry (was incorrectly returning 200)
- Refund handler fixed — was querying nonexistent
user_id column instead of seeker_id - Stripe webhook dunning now looks up users by customer ID instead of invoice metadata
- Stripe customer ID stored on wallet top-up for dunning and billing portal reliability
- Stripe Billing Portal integration — manage invoices, payment methods, and subscription from Wallet
- Wallet Billing button redirects to Stripe Customer Portal for dunning management
- Backend
POST /api/payments/billing-portal endpoint with auth and Stripe customer profile lookup - Platform fee calculation endpoint (
GET /api/payments/calculate-fee)
- Provider onboarding flow fixed (was hitting fallback handler instead of real endpoint)
- Email verification now works end-to-end (token-based, no premature marking)
- Provider station dashboard, edit, toggle, session, and earnings endpoints added
- Fallback handler returns 404 instead of fake success data
- New blog post: “The Airbnb of Energy”
- Instant i18n toggling without hard page reloads via Svelte 5 runes
- Deep-Linked Stripe Dunning Management links in Wallet and Notification Center
- Enterprise Fleet Node Filtering (search/filter bar) in Fleet dashboard
- Post-Session Immediate SVG Receipt Export feature
- Radar Map with Leaflet integration and marker clustering for high-density areas
- Live Charging Sessions with real-time telemetry (power, cost, duration)
- Provider dashboard with earnings overview and station management
- Session booking flow with date picker and confirmation modal
- Wallet page with transaction history and VSC credit management
- User roles (Seeker / Provider) with role-based UI toggling
- Heatmap layer showing predictive grid demand
- Address search with OpenStreetMap Nominatim integration
- Offline banner with connectivity detection via online/offline events
- Service Worker registration for offline capability groundwork
- Initial project scaffold with SvelteKit 5 and TypeScript
- Authentication system with login, registration, and session management
- Basic layout structure with header, footer, sidebar, and bottom navigation
- CSS design system with custom properties, dark theme, and responsive breakpoints
- Toast notification system for user feedback
- Modal component with dynamic content loading
- SEO metadata injection via svelte:head
- Structured data (JSON-LD) for search engine indexing
- Pricing page with Seeker, Provider, and Fleet tiers
- Static pages: About, Contact, Privacy Policy, Terms of Service