Property Setup
A verified owner can list one property or fifty. The setup wizard breaks this into digestible steps so even a non-technical hotelier can publish their listing in 20 minutes. The same screens are used for editing later.
What is a "property"?
In ABc, a property is the smallest unit a guest searches for: a single hotel, a B&B, a villa, or one apartment building. It has one address, one set of policies, one set of photos at the property level, and one or more room types underneath it.
One owner → many properties
A property group (e.g. a small hotel chain) is just one owner account with multiple property records. No separate "chain" concept yet.
One property → many room types
A "Deluxe King" is a room type. The hotel has 6 physical rooms of that type. Both numbers are configurable independently.
Onboarding wizard — 7 steps
-
Basics
Property name, type (
hotel/bnb/villa/hostel/resort/apartment), short description, year established. -
Location
Pin on map (lat/lng captured), street address, locality, city (autocomplete from gazetteer), state, country, ZIP.
-
Photos
Cover image + gallery. Minimum 5 photos, max 30. Auto-resize + WebP conversion, EXIF stripped, perceptual hash to detect duplicate uploads.
-
Amenities
Property-wide amenities (pool, gym, restaurant, parking, EV charger, etc.). Per-room amenities are added in the next page.
-
Policies
Check-in / check-out times, cancellation policy preset, child policy, pet policy, smoking, ID required at check-in.
-
Tax & fees
GST applicable, GST rate (auto-suggest by room tariff & current Indian rules), city tax, service charge.
-
Review & publish
Preview the public listing. Save as draft or submit for review. (Property goes live only when KYC is approved and at least one room type exists.)
UI — property dashboard
Setup wizard · step 3 of 7 — Photos
Bulk operations · UI
Property fields — full schema
| Group | Field | Type | Notes |
|---|---|---|---|
| Basics | name | text(120) | Public-visible |
| type | enum | hotel · bnb · villa · hostel · resort · apartment · homestay | |
| short_description | text(280) | Used on cards | |
| long_description | text(4000) | Markdown allowed | |
| established_year | int | Optional, builds trust | |
| Location | address_line1 | text | Hidden from public until booking confirmed |
| locality, city, state, country | text | Public | |
| zip | text | Optional | |
| lat, lng | numeric | For map + distance ranking | |
| landmark_notes | text | "5 min walk from Mall Road" | |
| Policies | checkin_from | time | Default 14:00 |
| checkout_until | time | Default 11:00 | |
| cancellation_policy | enum | flexible · moderate · strict · custom | |
| pets_allowed, smoking_allowed | bool | ||
| Tax | gstin | text(15) | Validated against GSTN if provided |
| gst_inclusive_pricing | bool | Affects how rates are displayed | |
| city_tax_pct | decimal | Per local government | |
| Status | status | enum | draft · pending_review · live · paused · suspended |
Cancellation policy presets
Flexible
Full refund if cancelled 24 hours before check-in. 50 % refund within 24 hours. No refund after check-in.
Moderate
Full refund if cancelled 5 days before check-in. 50 % refund 1–5 days before. No refund within 24 hours.
Strict
50 % refund if cancelled 7+ days before. No refund within 7 days.
Non-refundable
No refund regardless of cancellation timing. Lower headline price reflects this.
Custom
Owner defines free-cancel window in hours and per-window refund % up to 4 tiers.
How it shows publicly
Plain-English summary appears on the property page and on the booking confirmation email so guests can never claim surprise.
Publishing checklist
A property cannot go live until all of these are true:
- Owner KYC status is
verified - At least 5 photos uploaded
- At least one room type configured with a base rate
- Address, lat/lng set
- Cancellation policy selected
- Payout bank account verified
Owners abandon long forms. The wizard lets them save progress at every step, and the checklist on the dashboard tells them exactly what is left.
Bulk operations
For owners with multiple properties, the dashboard has a "bulk edit" panel:
- Apply a tax rate change across all properties
- Push a new cancellation policy as the default
- Pause / resume multiple listings (e.g. monsoon season)
- Export all properties as a CSV (for marketing / partner use)