Bills Feature
Utility bills quotes, signup, meter readings, and management. UK only — hidden when isUsaMode is true.
Location
- Feature module:
src/features/bills/ - Routes:
src/app/(tabs)/bills/
Overview
The bills feature integrates with Housr Bills (Huddle), allowing UK students to:
- Get quotes for utility bills (energy, water, wifi, contents insurance)
- Sign up for a bills package
- Submit meter readings
- Manage their bills account
Types
Quote
type Quote = {
id: string;
user_id: string;
address?: string;
start_date: string;
end_date: string;
tenants: number;
energy_quote: number;
electric_quote: number;
electric_only_quote: number;
gas_quote: number;
water_quote: number;
wifi_quote: number;
wifi_type?: string;
status: keyof typeof QuoteStatusMapping;
// ...
};Quote Status Flow
QUOTE -> ADDRESS_CONFIRMED -> QUOTE_ACCEPTED -> ADDRESS -> TENANCYMapped to display names:
QUOTE-> “Quote Received”ADDRESS_CONFIRMED-> “Address Confirmed”QUOTE_ACCEPTED-> “Finalise Details”ADDRESS-> “Enter Tenancy Details”TENANCY-> “Select Tariff”
Tariff
type Tariff = {
utilityType: string;
weeklyQuote: number;
weeklyQuoteElectricOnly?: number;
};PackageDetails
type PackageDetails = {
address: string;
bedrooms: number;
bills_prices: {
energy?: number;
water?: number;
wifi_400?: number;
wifi_600?: number;
wifi_800?: number;
};
};Components
| Component | File | Description |
|---|---|---|
BillsLanding | screens/bills-landing.tsx | Landing page with package info |
ManageBills | screens/manage-bills.tsx | Active bills management |
LandingBanner | components/landing-banner.tsx | Promotional banner |
BillsExplainer | components/bills-explainer.tsx | How bills work explainer |
BillsHeader | components/bills-header.tsx | Section header |
BillsContact | components/bills-contact.tsx | Support contact |
QuoteCard | components/quote-card.tsx | Quote summary card |
TariffSelection | components/tariff-selection.tsx | Tariff picker |
PackageDetailsContent | components/package-details-content.tsx | Package breakdown |
PriceDropdown | components/price-dropdown.tsx | Price breakdown dropdown |
MeterReadingCard | components/meter-reading-card.tsx | Meter reading entry |
ReaderHelpModal | components/reader-help-modal.tsx | How to read meters |
AddTenantModal | components/add-tenant-modal.tsx | Add housemate |
JoinHouseModal | components/join-house-modal.tsx | Join existing house |
AddressChoiceModal | components/address-choice-modal.tsx | Address selection |
BroadbandModal | components/broadband-modal.tsx | Broadband options |
BroadbandHelpModal | components/broadband-help-modal.tsx | Broadband FAQ |
MissingInfoModal | components/missing-info-modal.tsx | Missing info prompt |
PaymentsModal | components/payments-modal.tsx | Payment details |
TermsAndConditions | components/terms-and-conditions.tsx | T&C display |
CountryCodePicker | components/country-code-picker.tsx | Phone country code |
HousrBillsLogo | components/housr-bills-logo.tsx | Housr Bills branding |
Routes
| Route | Description |
|---|---|
(tabs)/bills/index.tsx | Bills landing / dashboard |
(tabs)/bills/bills-quotes.tsx | View quotes |
(tabs)/bills/bills-signup.tsx | Signup flow |
(tabs)/bills/quote-display.tsx | Quote display |
(tabs)/bills/finalise-details.tsx | Finalize signup details |
(tabs)/bills/direct-debit.tsx | Direct debit setup |
(tabs)/bills/alternative-address.tsx | Alternative address entry |
(tabs)/bills/signup-waiting-page.tsx | Signup processing wait |
(tabs)/bills/usage.tsx | Usage dashboard |
(tabs)/bills/your-meter-readings.tsx | Meter readings history |
(tabs)/bills/submit-meter-readings.tsx | Submit new readings |
(tabs)/bills/request-smart-meter.tsx | Request smart meter |
Constants
constants/explainer-data.json— Bills explainer contentconstants/phone-codes.json— Country phone codesconstants/unlimited-bills-plan.json— Unlimited plan detailsconstants/variable-bills-plan.json— Variable plan details
Assets
Includes meter reading reference images (assets/meters/) for different meter types: dial, digital, smart, prepayment (electricity and gas). Also includes bills branding images and utility icons (electricity, gas, water, wifi, TV, contents cover).
Utilities
utils/address.ts— Address formattingutils/huddle-utils.ts— Huddle integration helpersutils/phone-utils.ts— Phone number formattingutils/animation-utils.ts— Animation helpersutils/map-constants.ts— Map configurationutils/modal-utils.ts— Modal helpers
Last updated on