Product Requirements Document

RentSetu

A rental marketplace that connects tenants with property owners for verified, 11-month tenancies — search homes, view photos and amenities, sign the rent agreement, pay the advance and monthly rent in-app, and reach owners through a privacy-protected company line. This document specifies the Tenant app, the Owner app, and the Super-Admin dashboard.

Version 1.0 · DraftDate June 2026Status For reviewClassification Confidential

1. Overview

1.1 Purpose

This document defines the product requirements for RentSetu, a managed rental marketplace. Tenants search available rented spaces in their city, view photos, amenities, monthly rent and move-in availability, accept a standard 11-month rent agreement, and pay the advance, booking and monthly rent through the app. Property owners list and manage their properties; every listing goes live only after the Super Admin physically verifies and approves it. The platform spans a Tenant app, an Owner app, and a web-based Super-Admin dashboard.

1.2 Product vision

To make renting trustworthy and effortless for both sides — tenants get verified listings, transparent rent and a clear legal agreement; owners get qualified, paying tenants without exposing their personal number; and the operator keeps full control through physical verification, masked calling and digital agreements. RentSetu sits in the middle as the trusted intermediary on every call, contract and payment.

1.3 What makes it different

Three deliberate design choices define RentSetu: (1) Physical verification — no listing goes live until ops visits and approves it; (2) Company-masked calling — when a tenant calls about a property, the call connects to RentSetu's company line first, never the owner's personal number; and (3) Standard 11-month agreement — a clear, legally-framed rent agreement (tenant, not owner) generated as a PDF for every tenancy.

1.4 Scope

In scope: tenant onboarding & KYC; city/locality search with filters; property detail (photos, rent, amenities, move-in date, terms); 11-month rent-agreement generation & acceptance; advance, booking & recurring monthly payments; masked company calling; owner listing management (add/edit, images, amenities, rent, T&C) with submit-for-approval; owner tenancies & payouts; and the Super-Admin dashboard (verification & approval, tenants, owners, documents, payments, settings).

Out of scope (v1): property sales/ownership transfer, commercial & co-working spaces, home-services marketplace, and multi-city franchise operations beyond the launch city.

2. Personas

PersonaDescriptionPrimary goals
TenantLooking to rent a home in the city.Find a verified place fast, fair rent, clear agreement, easy payments.
Property ownerHas a flat/house to rent out.List easily, get verified paying tenants, keep their number private, receive rent.
Verification opsField team that visits and verifies properties.Confirm a listing is genuine before it goes live.
Super AdminBusiness operator running the marketplace.Approve listings, manage tenants & owners, oversee documents & payments.
Call-deskHandles masked inbound calls.Field tenant calls on the company line and route appropriately.

3. Tenant — Discovery & Search

Tenants search for available rented spaces in their city. The home screen leads with a locality/city search and quick filters — budget (monthly rent), BHK/type, furnishing, and move-in date. Results are shown as rich cards with a primary photo, monthly rent, locality, area (sq ft) and an "available from" date. Only admin-approved, live listings appear to tenants. See search → property → booking play out in the demo →

4. Property Detail

A property page shows a full photo gallery, the monthly rent and deposit, area (sq ft) and configuration, the amenities on offer (lift, parking, power backup, security, etc.), the move-in availability date, and the terms & conditions. From here the tenant can view the standard 11-month rent agreement, place a booking, or call about the property — which connects through RentSetu's company line (§7), never the owner's personal number.

5. Booking & the 11-Month Agreement

To book, the tenant reviews and accepts the standard 11-month rent agreement, generated as a PDF for the specific property and tenant. The agreement is explicit that it grants tenancy for an 11-month term only — the tenant rents and does not, in any case, acquire ownership of the property. It captures the parties, the term, rent, deposit, lock-in, notice period and house rules. On acceptance the tenant pays the advance/deposit and booking amount to confirm the tenancy and the move-in date.

6. Payments

RentSetu handles money end to end: the advance/deposit and booking payment at the time of booking, then recurring monthly rent paid in-app. Tenants see upcoming due dates, get reminders, and can pay rent in a tap; a full payment history and receipts are always available. Payments run through Razorpay (UPI, cards, net-banking), with auto-debit/recurring mandates for monthly rent and GST-compliant receipts.

7. Company-Masked Calling

When a tenant taps "Call" on a property, RentSetu shows and dials a company number, not the owner's. The call connects to RentSetu first; the platform then bridges to the owner (or the call desk handles it), so the owner's personal number is never exposed to tenants. This keeps every lead with the company, protects owner privacy, and lets RentSetu record and route calls. Implemented with a telephony number-masking provider (e.g. Exotel/Knowlarity).

8. Owner — Listing Management

Owners manage their portfolio in the Owner app. They can add a new property or edit an existing one — adding photos, selecting from a list of amenities (or adding new ones), setting the expected monthly rent and deposit, the area and configuration, the move-in availability, and their terms & conditions. When the owner submits the listing it does not go live immediately — it enters a "Pending approval" state and is routed to the Super Admin for physical verification.

9. Owner — Tenancies & Payouts

Once a property is live and rented, the owner sees the active tenancy — tenant, tenure (11 months), rent and the signed agreement — and tracks rent received and payouts. The owner accepts that they agree to provide the rented space for the agreed term; this consent is captured as a digital owner agreement stored against the property.

10. Super Admin — Verification & Approval

The heart of the operation. Every submitted listing lands in the Admin dashboard as Pending approval. Ops physically visits the property to verify it is genuine and as described; only then does the admin approve it. On approval the listing goes live to tenants and is shown as Live to the owner. Admins can also reject or request changes, with reasons.

11. Admin — Records & Documents

The Super-Admin dashboard holds the full record of the marketplace. For tenants: contact details, phone, the property rented, tenure/dates and rent. For owners: their listed properties with full details — area (sq ft), photos and status. And for both sides, the documents are stored and retrievable: the tenant's 11-month rent agreement and the owner's agreement to provide the rented space for the agreed term.

SectionWhat admin sees
ListingsPending / live / rejected; verify & approve, with photos & details.
TenantsName, phone, property, tenure (11 months), rent, agreement PDF.
OwnersName, properties, area, photos, KYC, owner agreement.
DocumentsAll tenant rent agreements & owner agreements, downloadable.
PaymentsAdvances/deposits held, monthly rent collected, owner payouts.
SettingsCompany calling number, amenities master, fees, roles.

12. Non-Functional Requirements

Performance

Search results under 2 seconds; property & checkout interactive under 1.5 seconds.

Scalability

City-scale catalogue via a dedicated search index; horizontal scaling of media & payments.

Security & privacy

Owner numbers never exposed (masked calling), encrypted PII & KYC, RBAC for admin.

Agreements

Tamper-evident 11-month rent-agreement & owner-agreement PDFs with e-acceptance & audit trail.

Compliance

GST-compliant receipts, RBI payment-aggregator & recurring-mandate norms, rental law per state.

Observability

Audit logs for approvals, calls, payments & documents; reconciliation & fraud alerts.

13. Listing & Tenancy Status Model

StatusMeaning
DraftOwner is still preparing the listing.
Pending approvalSubmitted; awaiting Super-Admin physical verification.
LiveVerified & approved; visible to tenants, shown Live to the owner.
RejectedDid not pass verification; owner sees the reason.
BookedTenant accepted the agreement; advance/booking paid.
Rented (active)Tenancy live; monthly rent in progress within the 11-month term.
VacatedTenure ended or notice served; property freed for re-listing.

14. Open Questions

  1. Masked-calling provider — Exotel vs Knowlarity vs Twilio; and full bridge vs call-desk routing in v1?
  2. Who holds the advance/deposit — RentSetu escrow released to owner, or passed through; and refund rules at vacate?
  3. Monthly rent — auto-debit mandate (e-NACH/UPI Autopay) or tenant-initiated each month?
  4. Agreement e-signing — Aadhaar e-sign / DigiLocker, or simple in-app acceptance with audit trail in v1?
  5. Verification SLA & field-ops workflow — how fast from "Pending" to a verification visit, and a separate ops app?
  6. Commission model — owner-side listing/success fee, tenant convenience fee, or both?
Interactive demo

Three sides, one marketplace.

The tenant app, the owner app and the super-admin dashboard — one codebase, one design language. Switch between them and click through: list a property, get it approved, search and book it.

Delivery timeline

A proposed 20-week build.

Five phases across three tracks, on a week scale. Each feature flows User Flow → Design → Frontend → Backend, staggered so design and build pipeline cleanly.

Tenant App Owner App Admin Dashboard Backend & Payments Milestone
Weeks 1–5

Phase 1 · Foundation & Tenant App

Architecture, KYC auth, city/locality search, filters, property detail with gallery & amenities.

Weeks 6–9

Phase 2 · Booking, Agreement & Payments

11-month agreement generation & acceptance, advance/booking + recurring monthly rent, masked company calling.

Weeks 10–13

Phase 3 · Owner App

Add/edit listings, images & amenities, submit-for-approval, tenancies & payouts, owner agreement.

Weeks 14–17

Phase 4 · Super-Admin Dashboard

Verification & approval workflow, tenants, owners, documents, payments & settings.

Weeks 18–20

Phase 5 · Hardening & Handoff

Notifications, QA · load · security, reconciliation, UAT with the launch city & documentation.

Technology

One stack, three surfaces.

A TypeScript-first architecture: React Native for the tenant & owner apps, Next.js for the Admin dashboard and the SEO listings web, and NestJS powering a shared backend with search, masked calling, recurring payments and PDF agreements.

Tenant & Owner apps

React Native

iOS + Android from one codebase — shared design system across both apps.

  • Expo / RN with TypeScript
  • Search, gallery, booking & payments
  • Owner listing & image upload
  • Masked call & push notifications
Web & admin

Next.js

The Super-Admin dashboard plus the SEO listings web & property pages — SSR for discovery, RBAC for ops.

  • React + TypeScript, App Router
  • Admin: verification, tenants, owners
  • Documents & payments console
  • SSR/ISR city & property pages
Backend

NestJS

One modular API — auth/KYC, listings & search, booking & agreements, payments, masked calling, approvals.

  • Node + TypeScript, modular services
  • Elasticsearch listing search
  • PDF agreement generation
  • Razorpay recurring + Exotel masking

System architecture

Tenant AppReact Native
Owner AppReact Native
HTTPS · WebSocket
API GatewayAuth · rate limiting · routing
NestJS services
Auth & KYC
Listings & Search
Booking & Agreements
Payments & Rent
Masked Calling
Approvals & Verify
Documents
Notifications
PostgreSQLCore data
ElasticsearchListing search
S3 storagePhotos & agreements
Outbound adapters
Razorpayadvance · recurring rent
Exotelnumber masking
Mapslocalities & geo

Supporting stack

Data

PostgreSQL (core), Redis for caching & queues.

Search

Elasticsearch for fast locality/filter search across a city catalogue.

Payments

Razorpay with advance, booking & recurring monthly-rent mandates, receipts & payouts.

Masked calling

Exotel/Knowlarity number masking so owner numbers stay private.

Agreements

Server-side PDF generation for the 11-month rent & owner agreements, with audit trail.

Infra & DevOps

Containerized (Docker) on AWS/GCP, CI/CD, autoscaling & observability.

Why this stack

TypeScript end to end

One language across both apps, web and backend — shared types and validation, fewer bugs.

Privacy by design

Masked calling keeps owner numbers private and every lead with the company — a core trust feature, not an add-on.

Documents & recurring rent

Generated agreements and recurring mandates make every tenancy legally clear and reliably paid.

India-ready & hireable

Razorpay, Exotel, GST & maps integrations and a deep React/Node talent pool.