Skip to content

Custom Forms (Form Builder)

Part of the Aashray Business Logic. Related: Food, Adhyayan & Utsav, Stay: Rooms & Flats, Services: WiFi, Maintenance, Support & Gate, Notifications, Short Links & App Updates.

A custom form (a "form" on this page) is a questionnaire that staff build in the staff panel's Form Builder and share as a link. Departments use forms to collect information that has no booking flow of its own: Tapascharya fasting choices, Paarna requests, flat owners' hosting plans for an Utsav, department and vendor needs, and general sign-ups or surveys.

People fill a form on a web page that opens from the link. The member app has no form screen. Most forms only collect answers for staff to read. A few special forms also change bookings: they set a member's meals, or they write a flat into Utsav bookings.

The backend stores forms and responses, checks each submission, and runs the automatic actions. The staff panel provides the Form Builder, the response screens, and the page where people fill a form.


Who builds forms

The Form Builder button and the backend allow the same 11 roles. Each role can manage only the forms of the departments it covers (backend and staff panel).

Role Departments whose forms it manages
Super admin All departments
Office admin Office, Room, Card
Room admin Room
Card admin Card
Accounts admin Accounts
Food admin Food
Adhyayan admin Adhyayan
Travel admin Travel
Utsav admin Utsav
AVT admin AVT
WiFi admin WiFi

No other role has the Form Builder. This includes gate, maintenance, housekeeping and electrical staff, the read-only and centre-scoped Adhyayan and Utsav roles, and the Smilestone, kitchen-count, driver and Satshrut roles. Only a super admin can manage a form whose department is gate, maintenance, housekeeping or electrical, unless the form is shared with another department.

Departments and sharing

  • Every form has one primary department. The staff panel offers Accounts, Office, Food, Adhyayan, Room, Travel, AVT, WiFi, Utsav and Smilestone. The backend refuses a new form for a department that the staff member's role does not cover.
  • Staff can share a form with more departments: Food, Utsav, Office, Room, Adhyayan, Travel and WiFi. Staff of a shared department see the form in their list. They have the same rights as the primary department: edit questions and settings, read and delete responses, manage the allowed numbers, and delete the form. Only primary-department staff can clone the form. (backend)

What staff do in the Form Builder

The form list shows each form's title, department, status, access type, number of responses and creation date (staff panel). From the list, staff can:

  • Preview the form. A submission in preview is checked but not saved.
  • Copy the link. The panel copies the short link when the form has one, or the direct link.
  • Clone the form. The copy is inactive and has "(Copy)" after the title.
  • Open the responses (see "What staff see," below).
  • Edit the form.
  • Delete the form. This removes the form, all its responses, all saved progress and its short link. It cannot be undone. (backend)

Form settings

Setting What it does
Title and description Shown at the top of the form. Bold, italic, underline and links are allowed.
Primary and shared departments Decide which staff can manage the form (above).
Linked Utsavs or Adhyayans Shown only when the primary department is Utsav or Adhyayan. The list holds Utsavs or Adhyayans that end today or later. Staff can tick several, for example Paryushan and Samvatsari. The earliest-starting one ticked is the main link.
Access type Decides who can submit (see "How a person fills a form," below).
Require OTP and allowed numbers Offered only for the two mobile-number access types.
Form category Generic, or Vendor Registration, which adds the vendor template questions.
Limit to 1 response Stops a second submission from the same browser (see "Responses," below).
Allow response editing Gives the person an Edit Response link after they submit.
Submit another response Shows a link to fill the form again after submitting.
Progress bar, confirmation message, theme colour Change what the person sees.
Expiry date and time, maximum responses, closed message Close the form (see "When a form is open," below).
Short link Optional. Letters, numbers, hyphens and underscores only. It must not match any existing short link.

Questions

A form can use 15 question types: short answer, paragraph, email, phone number (10-digit), number, date, time, star rating (1 to 5), dropdown, multiple choice, checkboxes, multiple-choice grid, checkbox grid, number grid, and section divider.

  • Each question can be required, carry help text, and carry an extra answer rule, such as a number range, an email or web address format, a character count, a pattern, or how many options to select.
  • A question can have a show-if rule: it appears only when an earlier answer equals, does not equal, or contains a chosen value.
  • Section dividers split the form into pages. After each section, the form can continue, jump to a chosen section, or submit.
  • A date question can set the earliest date (today, tomorrow or a fixed date), the latest date (today or a fixed date), and a cutoff hour on the day before the chosen date.

How a person fills a form

A person opens the form from the link that staff share, either the short link or the direct link. The page does not need a member app sign-in. Each form has one of five access types:

Access type (staff panel label) Who can submit What the backend checks
Public (anyone can fill) Anyone with the link Nothing. No member is attached to the response.
Authenticated (requires Card No.) Any card holder The card number exists.
Authenticated (requires Mobile No.) Any member with that registered mobile number The number belongs to a card. Optional OTP and allowed numbers.
Registered Participants Only (Card No.) Members with a booking for a linked Utsav or Adhyayan As for card number, plus the booking check.
Registered Participants Only (Mobile No.) Members with a booking for a linked Utsav or Adhyayan As for mobile number, plus the booking check.

On this page, a sign-in form is a form with any access type other than Public.

  • Booking check. For a linked Utsav, the member needs a confirmed (including paid by cash) or checked-in booking. For a linked Adhyayan, the member needs a confirmed booking. A waitlisted or unpaid booking does not count. The backend runs this check when the person identifies and when it sends an OTP. On a form with no linked Utsav or Adhyayan, it skips the check.
  • OTP. The backend sends a 6-digit code by WhatsApp. The code expires after 5 minutes. A number can get at most 5 codes in 10 minutes, and 5 wrong entries block the code. After a correct code, the person must submit within 10 minutes of the code being sent. (backend)
  • Allowed numbers. When staff add numbers to the list, only those numbers can identify, get an OTP or submit. Each entry can carry a department label, which pre-selects the department question for that person. An empty list allows any registered number. (backend)
  • After the person identifies, the page shows their name and centre. For a form linked to an Utsav, it also shows their package name and dates and hides grid rows for dates outside the package. A question asking for the name is filled in. If the person answered before, their earlier answers load, and the page says that only future dates can be changed. Grid rows for dates past 8 PM the day before are locked. (staff panel, using backend lookups)
  • Contact picker. On phones whose browser supports it, a button beside each mobile-number box picks a number from the phone's contacts. The number must have 10 digits. (staff panel)
  • Save my progress. The person ticks the box and gives an email address. The backend saves the answers while the person types. A later visit restores them when the person types the same email address. A submission deletes the saved progress.
  • Email me a copy. The person ticks the box and gives an email address. After the submission, the backend emails a copy of every question and answer, with the submission time in IST. Only the person who fills the form gets this email. Staff get no message about a new response, and no WhatsApp or push message is sent.
  • After submitting, the page shows the confirmation message, an Edit Response link when editing is allowed, and a "Submit another response" link when that setting is on.

When a form is open

  • A form accepts responses while it is active, before its expiry date and time, and below its maximum number of responses. A closed form shows the closed message. (backend)
  • The maximum counts every saved response.
  • A new form is active. The staff panel has no switch to make a form inactive or active. Staff close a form with the expiry time, the maximum, or by deleting it.

Responses

How many responses a person keeps

Form Rule (backend)
Public form Every submission adds a new response.
Form that asks for a card or mobile number One response per person. A new submission replaces the earlier one, even when editing is off.
Flat host form One response per flat. Any owner of the flat replaces the earlier response.
Sign-in form with a question about the department One response per department.
  • Limit to 1 response is checked only in the browser, and only when editing is off. The backend does not enforce it.
  • Editing. When editing is allowed, the Edit Response link opens that response. The backend refuses edits after the expiry time. On a sign-in form, the person must give the same card or mobile number as the original response. On a form with a date question, one person cannot keep two responses for the same date. (backend)

Answer rules the backend checks

On each submission and each edit, the backend checks:

  • every required question has an answer;
  • a short answer has at most 20 words;
  • a number is within its minimum and maximum (new submissions only);
  • a date meets its date settings. When a question has date settings, a date before today is always refused, even when the earliest date is set to "no minimum" or to a past date. A cutoff hour applies on the day before the chosen date, in IST.

The other answer rules, the show-if rules and the 10-digit phone check run only on the page (staff panel).

What staff see

  • Responses table. Each row shows the member's name, centre, resident status, mobile number, card number and email, then every answer and the submission time. Staff can search, filter by centre and resident status, export to Excel, and delete one response. Staff cannot change a response. (staff panel)
  • Matching public responses to members. On a public form, the backend takes the answer to the first question about a mobile, phone or contact number. If that number is registered, the table shows that member.
  • Analytics. A chart or summary for each question, such as option counts, star ratings and grid counts.
  • Pending flat owners. For a flat host form, a tab lists every flat where no owner has submitted, with the owners' names, card numbers, centres, mobile numbers and emails. Staff can search it and export it to Excel.

Special forms and automatic actions

The backend recognises a few special forms by words in their title. Automatic actions run after each submission and each edit, but only on forms that ask for a card or mobile number. A public form never triggers them. If an action fails, the response is still saved.

Special form Recognised by What it does
Tapascharya The title contains "Tapascharya", or a Food form's title contains "Tapp" Sets the member's meals for each answered date.
Paarna The title contains "Paarna" or "Parna" Fills in the member's Tapascharya summary and shows whether they are eligible.
Flat host The title contains "flat host" Lets a flat owner list the people they will host for an Utsav, and writes the flat into those people's Utsav bookings.
Vendor form Built from the Vendor Registration template Collects each department's accommodation and meal needs.

Tapascharya

Each submission or edit sets the member's breakfast, lunch and dinner for each answered date. The answer replaces that day's meals and creates no charge. Dates past 8 PM the day before are skipped. On a form that lists dates in a grid and is linked to an Utsav, dates outside the member's package are skipped. The Food page has the meal for each choice.

The answers also feed:

  • the Tapascharya breakdown in the food report (see Food);
  • the Utsav check-in report and the room-allocation tool, which flag members who are fasting (see Adhyayan & Utsav);
  • the Paarna form, below.

Paarna

  • When the person identifies, a question about Tapascharya is filled with counts from their latest Tapascharya answer, for example "3 Upvaas, 2 Aayambil". (backend and staff panel)
  • Eligibility (backend): at least 8 days of Upvaas, Aayambil, Ekasna or Only Liquid, or 3 Upvaas days in a row between 8 Sep and 15 Sep. Biyasna and Ras Tyaag days do not count.
  • The page shows an eligibility note under the summary. The person can change the summary text, and the page then judges it again with its own looser rule (see "Known limitations today"). (staff panel)
  • After submitting, a person whom the page judged eligible sees that their Paarna at the Research Centre is confirmed for 16 Sept. Others see that the seva team will review the request. The form books nothing and records no eligibility. (staff panel)

Flat host (for an Utsav)

  • Only a member who owns a flat can fill the form. The page fills in their flat number and locks it. (backend lookup, staff panel)
  • Confirmed attending. The page shows how many of the flat's owners have a confirmed (including paid by cash) or checked-in booking for a linked Utsav, with their names.
  • People the owner will host. The owner enters how many people they will host (the page allows up to 12) and the mobile number of each one. Each person must be a registered member with a confirmed booking for the linked Utsav. The page shows each name when it finds one. The same number cannot be listed twice. (staff panel, using a backend lookup)
  • On saving, the backend checks that the list has an entry for each person counted, that each entry has a mobile number and a card number, and that no person is listed twice.
  • After saving, each hosted person's booking for the main linked Utsav gets the flat as its room number, such as "Flat 12". A form whose title contains "Anand Mahotsav" also does this. (backend)
  • The answers also feed the Utsav room-allocation tool, which suggests the host's flat for each hosted person (see Adhyayan & Utsav), and the extra-bedding report, which counts the extra beddings each flat asks for.

Vendor and department forms

  • The Vendor Registration template adds these questions: department, accommodation needs per night, meals per day, headcount per day, kitchen type (Main Kitchen Mandap or K1 Kitchen), and remarks. (staff panel)
  • Staff add each department contact's mobile number, with a department label, to the allowed numbers. When a contact identifies, the page pre-selects their department and loads that department's latest response, with the name of the person who last updated it. A contact for several departments can switch between them.
  • The form keeps one response per department. The food report's vendor food requirement view totals the answers of one fixed vendor form (see Food).

Messages sent

Event Message Recipient
A person asks for an OTP on a mobile-number form WhatsApp with a 6-digit code The registered number that asked
A person submits or edits a response with "Email me a copy" ticked Email with the form title, the submission time in IST, and every question with its answer Only the email address typed on the page
A new, edited or deleted response No message Staff are not told

The response copy email (backend and staff panel):

  • The subject names the form, for example "Your response to" followed by the form title.
  • Section dividers are left out. An empty answer shows "(no answer)". A grid answer shows one line per row. A list of hosted people shows each person's name, mobile number and centre.
  • The page sends the request only after the response is saved. The backend sends the email only while the form is active.
  • When a person edits a response that had an email address, the page ticks the box again with that address. Each saved edit sends a new copy.
  • If the email fails, the person is not told. The confirmation screen still shows.

How this connects to other domains

  • Food (05): Tapascharya answers set meals. Tapascharya answers feed the food report's Tapascharya breakdown, and vendor forms feed its vendor food requirement view.
  • Adhyayan & Utsav (07): a form can be linked to Utsavs or Adhyayans. Utsav bookings and packages decide who can fill a form and which dates count. Flat host answers write rooms into Utsav bookings and feed room allocation. Tapascharya answers flag fasting members in the check-in report.
  • Stay: Rooms & Flats (04): the list of flats and their owners decides who can fill a flat host form and which flats are still pending.
  • Services (09): the extra-bedding report reads flat host answers.
  • Notifications & short links (10): a form's short link is a staff short link. The OTP goes by WhatsApp, and the copy of a response goes by email.
  • Accounts (02): a person identifies with a card number or a registered mobile number. Staff roles decide who has the Form Builder.

Known limitations today

Automatic actions

  • Tapascharya answers write free meals with no eligibility check and no guest charge. The food rules for guests and Mumukshus do not apply. A member with no booking for the linked Utsav, or with no package, gets meals on every answered date.
  • The year is fixed at 2026 for forms linked to an Utsav or Adhyayan. Dates without a year are read as 2026 when the backend sets meals. The food report's Tapascharya breakdown always reads them as 2026. The Paarna rule uses fixed dates (8 Sep to 15 Sep), and its message names 16 Sept.
  • A Tapascharya form with a single date question has no package limit. Only the grid form skips dates outside the package.
  • The vendor food report always reads one fixed form. Staff cannot choose another vendor form.
  • Special forms are recognised by title words, and the checks use different words. "Anand Mahotsav" writes flats into bookings but does not limit the form to flat owners. The pending flat owners view also accepts "flat accommodation". The Form Builder has no template for Tapascharya, Paarna or flat host forms.
  • Only the main linked Utsav counts for flat host work. The hosted-person check, the flat written into bookings, room allocation and the extra-bedding report use the first linked Utsav. The hosted-person check also treats two specific Utsavs as one.
  • The flat written into a booking is never cleared. It overwrites a room that staff already assigned, and it applies whatever the booking's status. A person removed from the list keeps the flat. Deleting a response does not undo its meals or flats.
  • The Paarna "confirmed" message is decided on the page, not by the backend rule. The page also counts Biyasna and Ras Tyaag days, accepts any numbers in the summary that add up to 8 or more, and lets the person edit the summary. A member can see "confirmed for 16 Sept" when the backend rule says no.
  • The attending count on a flat host form can count one owner twice when the form is linked to two Utsavs and the owner booked both.

Access and identity

  • "Registered Participants Only" checks nothing when the form has no linked Utsav or Adhyayan. The staff panel offers links only for Utsav and Adhyayan forms, and it saves a form with no link ticked. Such a form behaves like a plain card or mobile sign-in.
  • Some access checks run only on the page, not when the backend saves the response: the "Registered Participants Only" booking check, the flat-owner check, the flat number, and the booking check for each hosted person.
  • Edits skip several checks. An edit does not repeat the OTP, the allowed numbers, the hosted-people checks or the number limits. Editing needs only the original card or mobile number.
  • After 5 wrong OTP entries, the backend treats the number as verified until 10 minutes after the code was sent. A code verified for a travel coordinator sign-in on the same number also counts.
  • The backend does not check who opens, edits or emails a response. A person with a response link can open it when editing is on. On a public form, that person can also change it. The "email me a copy" step sends any response to any address. A saved draft, including the mobile or card number in it, comes back to anyone who types the same email address.
  • Mobile sign-in uses the last 10 digits of the number. A member whose registered mobile number is not a 10-digit number cannot identify by mobile.

Responses

  • "Limit to 1 response" works only per browser. On a sign-in form, a new submission replaces the earlier response even when editing is off.
  • Any sign-in form with a question about the department keeps only one response per department. A second person from the same department replaces the first person's response. The match uses any answer that equals the department name. A contact can also pick another department and open or replace its response.
  • A required question that the form hides blocks the submission. This happens when a show-if rule hides the question or the form skips its section, because the backend checks every required question.
  • Most answer rules run only on the page. The backend does not check email, web address, pattern, character count, selection count or 10-digit rules, or the required setting on checkbox and grid questions.
  • Grid questions set to "use live dates from the active Utsav" get no dates. The vendor template uses this setting, but the backend does not fill the dates. The grid shows only rows that staff typed by hand.

Form Builder

  • A cloned form cannot be used. It starts inactive, and the staff panel has no control to activate it. The clone also drops the shared departments, the linked Utsavs after the first, the allowed numbers and the short link.
  • Allowed numbers added while staff create a new form are not saved by the first save. Staff must save the form a second time.
  • Card admins have the Form Builder but cannot create a form, because the department list has no Card option.
  • Smilestone forms can be managed only by a super admin. The department is offered, but the Smilestones role has no Form Builder access.