Documentation
Running your society on Sahnivas
Sahnivas has two faces: the admin panel on the web for the society committee and the platform team, and the mobile app (Android, iOS, and the web) for residents, committee members on the go, and vendors.
| Role | Who | Uses |
|---|---|---|
| Society Admin | Chairman, secretary, treasurer | Admin panel and the app |
| Member | Owners and tenants | The app |
| Vendor | Electricians, plumbers, AC service… | The app |
| Super Admin | The Sahnivas platform team | Admin panel |
Everyone signs in the same way: enter a mobile number, then the 6-digit code sent by SMS. There are no passwords. One person can hold several roles — a committee member is also a resident, and can manage more than one society — and switches between them from the top bar.
Demo accounts
The demo runs on fictional data (ABC Society and XYZ Society in Pune). The code is always 123456 — no SMS is sent.
| Sign in as | Mobile | Where |
|---|---|---|
| Super Admin | 9000000001 | Admin panel |
| Society Admin — Ramesh Gurav, ABC Society | 9876500001 | Admin panel or app |
| Resident (owner) — Priya Sharma, A-101 | 9876500002 | App |
| Resident (tenant) — Amit Shah, B-302 | 9876500003 | App |
| Vendor — ABC Electrical Services | 9876500031 | App |
ABC123), registering a new society, or registering as a vendor. Payments are simulated in the demo.Register a society
- Open the app, sign in with your mobile number and choose Register a society.
- Fill in the society's details (name, type, registration number, contact), address, and management (office bearers, number of wings and flats). You can stop and continue later; the app saves as you go.
- Verify the society's official mobile number with a one-time code (skipped when it is your own login number).
- Pay the one-time registration fee online.
- Submit. The Sahnivas team reviews the application — usually within a working day — and you become the society's admin as soon as it is approved. If something needs fixing, you'll see the reason and can resubmit without paying again.
After approval, open Settings in the admin panel to update the logo, address, office bearers and contact details. The name, registration number and verified mobile are fixed; contact support to change them.
Flats & members
Wings and flats
In Buildings & Flats, add each wing and its flats — one by one, or a whole wing at once (for example floors 1–10, four flats per floor, numbered A-101…A-1004). Each flat shows whether it is owner-occupied, rented or vacant.
Residents joining
Share your society's join code (shown in Settings). A resident enters it in the app, picks their wing and flat, and says whether they own or rent. The request appears under Members as waiting for approval; approve it, optionally with a committee role, or decline with a reason they will see.
Committee and admins
Give any member a committee role (chairman, secretary, treasurer…) and admin rights from their profile. A society always keeps at least one admin.
Maintenance & payments
- Set the amounts — Maintenance → Rates & payment details. Owners and tenants can pay different amounts; a change applies from the month you choose, and bills already raised keep their amount.
- Add where residents pay — your society's UPI ID and/or bank account, and optionally the UPI QR code from your bank. Money goes straight to the society; Sahnivas never holds it.
- Generate the month's bills — one click raises a bill for every occupied flat. Running it twice never creates duplicates.
- Residents pay in the app by UPI (opens their UPI app with the amount filled in), by scanning the QR, or by bank transfer, then submit the UTR / reference and a screenshot.
- Confirm — Payments shows everything waiting for review with the proof. Confirming issues a numbered PDF receipt (for example
ABC123/2026-27/000001) that the resident can download. Rejecting asks for a reason and lets them try again.
Notices
Post a notice (general, meeting, maintenance, emergency, event) to everyone, only owners, only tenants, or chosen wings. Attach a PDF or image, pin it to the top, schedule it for later, and set when it expires. Residents get an in-app notification; the board shows how many have seen each notice.
Complaints
Residents raise complaints with a category, description and up to four photos. Each gets a number (#0001) and a timeline.
- The committee sets the priority, assigns it — to a committee member or an outside party such as the lift company — and moves it through New → Assigned → In progress → Resolved, adding notes the resident sees.
- When a complaint is resolved, the resident confirms it (closed) or reopens it. If they do nothing for 7 days, it closes automatically.
- Residents can reply on the timeline but can never change the status themselves.
For residents
- Join with the code from your committee, then wait for approval — you'll be notified.
- Bills: see what's due, pay by UPI, QR or bank transfer, submit the reference, and download receipts once confirmed.
- Notices and notifications: everything the committee sends, with unread markers.
- Complaints: raise, follow, reply, confirm or reopen.
- Vendors: verified local service providers, with your society's own vendors first. Call or WhatsApp them from the app.
- Profile: family members, tenant details, emergency contacts, and your digital visiting card — share it on WhatsApp, as an image, a PDF, or a contact (vCard). You choose what it shows.
For vendors
- Sign in with your mobile number and choose Register as a vendor. If a society referred you, enter its code.
- Add your business, owner and contact details, services and prices, working hours, service areas, and documents (PAN, GST if registered).
- Verify your mobile, pay the one-time registration fee and submit. Once verified by the Sahnivas team, you appear in residents' vendor directory.
- Your digital business card with a QR code is ready to share straight away.
Platform team (Super Admin)
- Dashboard: societies and vendors by status, registration revenue, the approval queue and six-month trends.
- Societies and Vendors: review applications, approve, reject with a reason, suspend or reactivate. Suspension removes admin rights at the next sign-in; nothing is deleted.
- Fees: the registration fee for societies and for vendors. Changes are scheduled from a date (today or later); earlier payments keep the fee they paid, and every change is recorded.
- Payments: every registration fee payment with its gateway reference.
- Members: everyone on the platform and where they belong. Mobile numbers are partly hidden; search accepts the full number.
Security & privacy
- Each society's data is separated in the database itself (row-level security): one society's admin can never read another's records, even through a bug in the app.
- Sign-in codes expire after 5 minutes, allow 5 attempts and are limited per number and per network. Sessions are short-lived, and a stolen sign-in token is detected and cancelled.
- Bank account numbers are shown masked to anyone who doesn't need them. Personal numbers are masked in platform lists and never written to logs.
- Uploaded files are checked by content (not just their name), are private unless meant to be public (like a logo), and are only served to people allowed to see them.
- Every administrative change is written to an audit trail that cannot be edited.
- Your society's data is yours: ask us for an export at any time.
FAQ
Does Sahnivas take a cut of maintenance?
Maintenance is paid directly to the society's own UPI ID or bank account. Sahnivas only charges the one-time registration fee.
Can a tenant and an owner of the same flat both use the app?
Yes. Each joins with their own number and resident type; bills follow the flat and the rate for owners or tenants.
We manage two societies. Do we need two accounts?
No. The same number can be admin of several societies; switch between them from the top bar.
Which languages are supported?
English today. Hindi is in progress, starting with sign-in; more Indian languages will follow.
Developers
Sahnivas runs on Cloudflare Workers (API), Cloudflare Pages (admin panel and web app), R2 (files), Queues (notifications) and PostgreSQL. The mobile app is Flutter.
- API base URL (demo):
https://sahnivas-api-staging.ceo-751.workers.dev— JSON, bearer tokens from the OTP sign-in, errors in a single{ "error": { "code", "message", "correlationId" } }envelope. - Health check:
/health. - Limits: 60 sign-in requests and 600 other requests per minute per network; JSON bodies up to 256 KB; uploads up to 10 MB depending on type.
Integration partners can request the full API reference by writing to support@apie.tech.