Skip to Content
Housr AppFeaturesViewings Feature

Viewings Feature

Viewing requests, inquiry management, and application tracking.

Location

  • Feature module: src/features/viewings/
  • Routes: src/app/(tabs)/viewings/

API Functions

FileFunctionAPIEndpoint
api/viewing-api.tsViewing operations
api/requestViewing.tsv1Request a viewing
api/requestRentcafeViewing.tsRentCafe integration (US)
api/fetchInquiries.tsGet inquiries list
api/fetchInquiry.tsGet single inquiry
api/fetchLatestInquiryDetails.tsLatest inquiry status
api/cancelInquiry.tsCancel an inquiry
api/hideInquiry.tsHide an inquiry
api/updateInquiryStatus.tsUpdate inquiry status
api/applicationInProgress.tsCheck application status
api/cancelApplication.tsCancel application
api/submitApplication.tsSubmit rental application
api/fetchYardiApplicationDetails.tsYardi CRM integration

Hooks

HookFileDescription
useViewingshooks/use-viewings.tsFetches all viewings on screen focus, client-side filtering and grouping
useOpenViewingFromParamshooks/use-open-viewing-from-params.tsOpens viewing detail from deep link params

useViewings

Fetches viewings from apiV1.get('viewings.php') and provides:

  • Filtering by ViewingStatus (ALL, ACCEPTED, PENDING, SUGGESTED, CANCELLED, DECLINED, PAST)
  • Search by title
  • Grouping into thisWeek, thisMonth, upcoming (for ALL/ACCEPTED/PENDING filters)
  • Flat list for other filter states
  • Auto-refetches on screen focus via useFocusEffect

Types

ViewingStatus

enum ViewingStatus { ALL = 'ALL', ACCEPTED = 'ACCEPTED', PENDING = 'PENDING', SUGGESTED = 'SUGGESTED', CANCELLED = 'CANCELLED', DECLINED = 'DECLINED', PAST = 'PAST', }

Key Interfaces

  • Viewing (types/viewing.ts) — Core viewing object
  • ViewingsResult — API response grouped by time period (past, none, thisWeek, thisMonth, other, cancelled)
  • GroupedViewings (types/grouped-viewings.ts) — Client-side grouped format
  • Inquiry (types/inquiry.ts) — Inquiry details
  • InternalViewingStatus (types/internal-viewing-status.ts) — Internal status tracking
  • ViewingRequest (types/viewing-request.ts) — Viewing request payload

Components

ComponentFileDescription
ViewingCardcomponents/viewing-card.tsxViewing list item
ViewingInfoCardcomponents/viewing-info-card.tsxViewing detail card
ViewingImagecomponents/viewing-image.tsxProperty image
ViewingActionscomponents/viewing-actions.tsxAction buttons (cancel, reschedule)
ViewingStatusContentcomponents/viewing-status-content.tsxStatus display
ViewingDetailsModalcomponents/viewing-details-modal.tsxFull viewing details
ViewingMessageSectioncomponents/viewing-message-section.tsxMessage/notes section
InquiryCardcomponents/inquiry-card.tsxInquiry list item
Inquiriescomponents/inquiries.tsxInquiries list
FurthestInquirycomponents/furthest-inquiry.tsxMost progressed inquiry
QuickActionscomponents/quick-actions.tsxQuick action buttons
ApplicationModalcomponents/application-modal.tsxRental application form
LeaseCompletedModalcomponents/lease-completed-modal.tsxLease completion confirmation
RateTourModalcomponents/rate-tour-modal.tsxPost-tour rating
CircularProgressIndicatorcomponents/circular-progress-indicator.tsxProgress ring
SlideableModalcomponents/slideable-modal.tsxSliding bottom sheet modal
HelpSectionContentcomponents/help-section-content.tsxHelp/FAQ content

Routes

RouteDescription
(tabs)/viewings/index.tsxViewings list screen
(tabs)/viewings/inquiry/[id].tsxInquiry detail screen
(tabs)/viewings/manage-inquiries.tsxManage all inquiries
(tabs)/viewings/rental.tsxRental management (HOUSR_2_0)
Last updated on