Lookups and their codes
The dropdown lists each organization maintains (contact types, lead sources, activity types, company types, bank account purposes, parking types, amenities, unit types, unit configurations), the machine code each value carries, how the code is derived from the name, and why some codes must not be retired.
Lookups and their codes
A lookup is one of the dropdown lists every form draws on: the contact types, lead sources, activity types, company types, bank account purposes, parking types, amenities, unit types and unit configurations. Each organization keeps its own lists. Every value has a display name, which you can change, and a code, which is fixed once the value exists: records refer to the code, reports and integrations read it, and a few codes are what the app itself looks for.
How it works in NirmaanOne
The nine lookups
| Lookup | Used by | Extra fields | Seeded values |
|---|---|---|---|
| Contact types | contacts, society members, users | Lead, Customer, Tenant, Vendor, Channel Partner, User | |
| Lead sources | opportunities | Walk-in, Website, Channel Partner, Referral, Social Media | |
| Activity types | opportunity activities | system rows | Call, Site Visit, Meeting, Email, WhatsApp, plus 21 system entries such as Stage Changed, Estimate Sent, Booking Created |
| Company types | companies (the form adapts to the code) | Promoter Entity, Channel Partner, Vendor, Contractor | |
| Bank account purposes | bank accounts | Collection account, RERA separate account, Operative account, GST, Operating, Client Payment, Tenant Payout, Channel Partner Payout | |
| Parking types | parking slots | Covered, Open, Stilt, Basement, Podium, Mechanical, Tandem, EV Charging | |
| Amenities | project amenities | Category | 13, grouped Recreation, Green, Utility, Safety |
| Unit types | units, typologies, pricing plans, opportunities, allottees | Suits residential / commercial | Apartment, Office, Shop, Refugee |
| Unit configurations | units | Unit type, Bedrooms | Studio, 1 BHK … 4 BHK (halves included), Penthouse, Office, Shop |
Every value also has a Sort order (lower comes first in dropdowns; a new value is offered the highest order plus 10), a Description, and an Active flag.
How the code is made
You never type a code. While you type the name of a new value the code is derived from it: the name is put in upper case, every run of characters other than A–Z and 0–9 becomes one underscore, leading and trailing underscores are dropped, and the result is cut at 50 characters. The panel shows it under Code with "Set automatically from the name; used in reports and integrations."
| Name typed | Code |
|---|---|
| Walk-in lead | WALK_IN_LEAD |
| Anil's referral | ANIL_S_REFERRAL |
| 99acres portal | 99ACRES_PORTAL |
| EV charging (basement) | EV_CHARGING_BASEMENT |
Because the code is made of Latin letters and digits only, a name written entirely in another script gives an empty code and the panel says "Code is required": add a word or number in Latin letters to the name. Two values of one lookup cannot share a code; if the derived code already exists the panel refuses the name with "Another <value> already has the code <CODE>; choose a different name." (an inactive value keeps its code, so reactivate it rather than re-creating it).
Once the value is saved the code is fixed. Renaming the value changes only what people see; the code, and therefore every record that refers to it, stays the same. Charge components and charge groups follow the same rule, with one difference: a clashing charge component code gets a number added (LEGAL_2, LEGAL_3 …) instead of being refused.
System rows
Activity types include system rows (lock icon), which the app writes itself when a stage changes, an estimate is sent, a booking is created and so on. You can rename or deactivate a system row, but its code stays and it cannot be deleted.
Deactivate, do not delete
A value that records already use cannot be deleted: the app refuses with "That conflicts with existing data." (or, for a unit type, a message saying how many units, typologies, plans, opportunities or allottees still use it). Untick Active instead: inactive values stay on the records that carry them but are not offered in pickers. Two values are the exception and are cleared silently when deleted: a lead source disappears from the opportunities that had it, and a unit configuration from the units that had it. Treat those as a reason to deactivate too.
Codes the app relies on
Some codes are looked up by the app itself. Keep these values, whatever you rename them to:
- contact types TENANT (society members must have it) and USER (every user is mirrored as a contact of this type; without it no contact is created), LEAD (a buyer typed in on a new opportunity), CUSTOMER (an applicant typed in on a booking), and VENDOR and CHANNEL_PARTNER (a new person attached to a company);
- company type PROMOTER (the promoter entity of a project);
- bank account purposes RERA_COLLECTION, RERA_SEPARATE, RERA_OPERATIVE and GST (the project's collection, RERA separate, operative and GST accounts: the four purposes that create bank ledgers; the first three satisfy a project's readiness check and carry the daily sweep; they may sit only on a company's account).
Only activity types are protected as system rows, so an administrator can delete these while no record uses them. Deactivating one only takes it out of pickers; the app still finds it by its code. A deleted one makes the screens that need it fail with messages such as "The 'Tenant' contact type is not configured. Ask an administrator to add it under Lookups." A reseed by whoever maintains the server puts a missing default back (matched by code and name), but not one that was merely renamed and deactivated.
Unit types decide what a project may sell
A unit type says whether it Suits residential projects and Suits commercial projects. A Residential project offers the residential ones, a Commercial project the commercial ones, a Mixed project all of them (a type that suits neither is offered on Mixed projects only). Choosing a type the project's property type does not allow is refused: "<Type> is not a unit type for a <Residential/Commercial> project; change the project's property type, or mark the unit type as suiting it under Settings > Lookups". A unit configuration (typology) names one unit type and a bedroom count; the areas belong to each unit, not to the typology.
Example
The marketing team of Shree Siddhi Developers starts advertising on a property portal and wants enquiries from it tracked. On Lookups, tab Lead sources, an administrator clicks New lead source and types the name "Portal (99acres)". As they type, the Code box fills in PORTAL_99ACRES. Sort order is offered as 14 (the highest existing order among the five seeded sources, 4, plus 10); they leave it. Add lead source saves it, and it appears in the Lead source dropdown of every new opportunity.
A year later the contract moves to another portal. The administrator renames the value to "Portal (Housing)"; the code stays PORTAL_99ACRES, so the 140 opportunities recorded under it still count as portal leads in reports. Renaming is harmless; deleting would have cleared the source from all 140 opportunities, which is why the safer choice for a source no longer used is to untick Active.
Where you see it
- Lookups: every list, with Code, Name, Order, the panel that derives the code, and Show inactive.
- Contacts and Companies: the contact and company types.
- Bank accounts: purposes, and which of them are reserved for the promoter's accounts.
- Charge Components: the same derived codes for components and groups.
- Activities: the activity types, including the system rows.
- Parking, Amenities and Structure: parking types, amenities, unit types and configurations.
Related
Related
- LookupsScreen
The dropdown lists every form draws on: contact types, lead sources, activity types, company types, bank account purposes, parking types, amenities, unit types and unit configurations.
- ContactsScreen
The master list of every person your organization deals with, with a panel to add, edit, deactivate or delete a contact and see who changed the record.
- CompaniesScreen
The master list of legal entities you deal with: promoter entities, channel partners, vendors and contractors, with search, filters and shortcuts to open, edit or delete a company.
- Bank accountsScreen
One register of every bank account you pay from or into: the promoter's collection, RERA separate, operative, GST and operating accounts, and the payout accounts of channel partners, vendors, buyers and society members, with joint holders and verification.
- Charge ComponentsScreen
The organization's catalogue of money lines (unit price, floor rise, PLC, legal charges, tenant benefits, commissions) and the charge groups that section a buyer's cost sheet, each with its GST rate.
- ActivitiesScreen
The opportunity's timeline: calls, site visits and meetings logged by the team, alongside the locked entries the system writes for stage changes, estimates and bookings.
- ParkingScreen
Set up the project's parking areas (basement, podium, stilt) and their numbered parking slots, see who holds each parking slot, and allocate parking slots to society members.
- AmenitiesScreen
List what the new project provides, either once for the whole project (clubhouse, pool) or on particular towers (refuge unit, society office).
- StructureScreen
Build and maintain a project's towers (wings), floors and units, generate them in bulk, and see every unit's status and designation at a glance.
- Contacts, companies and company typesConcept
A contact is a person; a company is a legal entity with people attached. The company type decides which registrations the form asks for (promoter, channel partner, vendor, contractor), and a channel partner's default commission feeds the commissions on the bookings it brings.
- Bank accounts, purposes and bank ledgersConcept
One register of every bank account you pay from or into: who owns an account, what its purpose tag means, why the collection, RERA separate, operative and GST purposes belong to the promoter, what the primary account and the IFSC are for, and how a bank ledger is created in the books.
- Charge components and their kindsConcept
The catalogue of money lines the business uses (unit price, floor rise, PLC, legal charges, corpus, transit rent, commission …), the six kinds that decide where a component may appear, the fixed code each carries, and how charge groups and per-line GST turn them into a price.