Skip to Content
Housr AppFeaturesBills Feature

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:

  1. Get quotes for utility bills (energy, water, wifi, contents insurance)
  2. Sign up for a bills package
  3. Submit meter readings
  4. 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 -> TENANCY

Mapped 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

ComponentFileDescription
BillsLandingscreens/bills-landing.tsxLanding page with package info
ManageBillsscreens/manage-bills.tsxActive bills management
LandingBannercomponents/landing-banner.tsxPromotional banner
BillsExplainercomponents/bills-explainer.tsxHow bills work explainer
BillsHeadercomponents/bills-header.tsxSection header
BillsContactcomponents/bills-contact.tsxSupport contact
QuoteCardcomponents/quote-card.tsxQuote summary card
TariffSelectioncomponents/tariff-selection.tsxTariff picker
PackageDetailsContentcomponents/package-details-content.tsxPackage breakdown
PriceDropdowncomponents/price-dropdown.tsxPrice breakdown dropdown
MeterReadingCardcomponents/meter-reading-card.tsxMeter reading entry
ReaderHelpModalcomponents/reader-help-modal.tsxHow to read meters
AddTenantModalcomponents/add-tenant-modal.tsxAdd housemate
JoinHouseModalcomponents/join-house-modal.tsxJoin existing house
AddressChoiceModalcomponents/address-choice-modal.tsxAddress selection
BroadbandModalcomponents/broadband-modal.tsxBroadband options
BroadbandHelpModalcomponents/broadband-help-modal.tsxBroadband FAQ
MissingInfoModalcomponents/missing-info-modal.tsxMissing info prompt
PaymentsModalcomponents/payments-modal.tsxPayment details
TermsAndConditionscomponents/terms-and-conditions.tsxT&C display
CountryCodePickercomponents/country-code-picker.tsxPhone country code
HousrBillsLogocomponents/housr-bills-logo.tsxHousr Bills branding

Routes

RouteDescription
(tabs)/bills/index.tsxBills landing / dashboard
(tabs)/bills/bills-quotes.tsxView quotes
(tabs)/bills/bills-signup.tsxSignup flow
(tabs)/bills/quote-display.tsxQuote display
(tabs)/bills/finalise-details.tsxFinalize signup details
(tabs)/bills/direct-debit.tsxDirect debit setup
(tabs)/bills/alternative-address.tsxAlternative address entry
(tabs)/bills/signup-waiting-page.tsxSignup processing wait
(tabs)/bills/usage.tsxUsage dashboard
(tabs)/bills/your-meter-readings.tsxMeter readings history
(tabs)/bills/submit-meter-readings.tsxSubmit new readings
(tabs)/bills/request-smart-meter.tsxRequest smart meter

Constants

  • constants/explainer-data.json — Bills explainer content
  • constants/phone-codes.json — Country phone codes
  • constants/unlimited-bills-plan.json — Unlimited plan details
  • constants/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 formatting
  • utils/huddle-utils.ts — Huddle integration helpers
  • utils/phone-utils.ts — Phone number formatting
  • utils/animation-utils.ts — Animation helpers
  • utils/map-constants.ts — Map configuration
  • utils/modal-utils.ts — Modal helpers
Last updated on