Skip to content

Notifications, Short Links & App Updates

Part of the Aashray Business Logic. Related: Accounts, Identity & Authentication, Booking Lifecycle & Engine, Services: WiFi, Maintenance, Support & Gate.

This page covers member messages, staff-managed short links, and member app version updates.

Notification channels

  • Aashray can attempt push notifications, email, and WhatsApp messages.
  • An event does not always use every channel.
  • When a member creates a booking, the system attempts email and WhatsApp messages for the attendee. If another member made the booking, the system also attempts messages for that person.
  • Meal bookings for a Permanent Resident get no WhatsApp message, whoever made the booking. Other items in the same booking still get their WhatsApp messages (backend).
  • Booking status changes can trigger email, WhatsApp, or push messages, based on the status path.
  • Password recovery, maintenance updates, and WiFi request updates also use selected notification paths.
  • A notification failure does not undo the booking or service request.
  • Staff account, card, profile, and password messages are listed in Accounts, Identity & Authentication. WhatsApp group links and join reminders are covered in WhatsApp Groups.

How each channel reaches a person

Channel Where it goes What happens on failure
WhatsApp The phone number on the person's card, sent as a pre-approved WhatsApp message (backend) The backend records the failure in its log, and the action that caused it still succeeds. A missing booking message is resent as described below; otherwise the person gets nothing (backend).
Email The email address on the person's card, sent from the "Vitraag Vigyaan Aashray" address (backend) The backend records the failure in its log. A card with no email gets no email (backend).
Push The one push address saved on the person's card (backend) A card with no push address is skipped. Delivery errors are only logged (backend).

WhatsApp country codes (backend). The backend adds a country code based on the country on the card:

  • India, a blank country, and any country it does not know get the India code.
  • It knows these countries: the United States, Canada, the United Arab Emirates (also "Dubai"), the United Kingdom, Germany, Egypt, Australia, Singapore, New Zealand, Kenya, and South Africa.
  • A UAE number stored with an extra leading 1 is corrected.
  • A number that already starts with the right code is left as it is.

Resend when a booking message is missing (backend). This applies to booking messages for stay, flats, food, travel, Adhyayan, and Utsav: new bookings and status changes. It also applies to the late check-out fee waiver and the WhatsApp group join reminder. It does not apply to the account and identity messages.

  1. The backend resends only when WhatsApp answers that the message does not exist. Any other failure, such as a wrong number or no connection, gets no resend.
  2. It first sends the same message again with the general English language setting instead of the default (US English).
  3. If WhatsApp still says the message does not exist, it sends a substitute only when the substitute means the same thing:
    • A confirmation for an Adhyayan booking, or for a stay booking for a guest or for oneself, is replaced by that domain's general confirmation, with fewer details. For example, the stay version drops the check-out date or the credit line.
    • An Utsav cancellation by staff with credit is replaced by the guest version of that message.
    • Any other missing message, such as a pending, waitlisted or cancelled message, a join reminder or a fee waiver, is not sent. The backend records the missing message in its application log.
  4. Each substitute is tried in both English variants. If every attempt fails, the person gets nothing, and the failure is only logged.

Push notifications

  • The member app registers a phone push address while it runs on a physical device.
  • The member app sends the current push address to the backend at sign-in.
  • Signing out through the supported sign-out path clears the stored address on the card (backend).
  • Tapping a push notification opens the member app screen named by that notification. The destination can be a booking or another supported screen.
  • The member app asks for notification permission. A phone where the member refuses permission has no push address (member app).
  • Each card holds one push address: the device of the latest sign-in. Signing out on any device clears it (backend).
  • The backend sends push messages in batches of up to 600 a second and retries a failed batch (backend).
  • If the member is not signed in and onboarded, the member app ignores the screen named by the notification (member app).

Staff can create short links for ten departments: accounts, room, card, office, food, Adhyayan, travel, Utsav, AVT, and WiFi. An active link redirects a person to its full resource page.

  • Staff can create, enable, disable, and delete links in the staff panel. The backend can also change a link's full address and department, but the staff panel has no edit screen (backend and staff panel).
  • Staff can filter links by department.
  • Staff can view the number of times each link was opened.
  • The backend creates some short links by itself. When staff save a WhatsApp group link on an Utsav or Adhyayan, it points a short link such as "u12" or "a7" at that group (see WhatsApp Groups). A form with a short name also gets a short link (see Custom Forms (Form Builder)).
  • Each department has its own staff permission rule for link management.

The member app does not use the short link screen as a general tutorial directory. The staff panel owns short link management.

The super admin can manage links of every department. Each other role manages only its own department's links (backend and staff panel).

Department Role that manages it, besides the super admin
Accounts accounts admin
Room room admin
Card card admin
Office office admin
Food food admin
Adhyayan Adhyayan admin
Travel travel admin
Utsav Utsav admin
AVT AVT admin
WiFi WiFi admin

Other roles, such as the gate admin and the read-only roles, cannot open the short link screen (staff panel).

  • Create (backend and staff panel). Staff enter a short name, the full address, and a department. The short name can use only letters, numbers, hyphens, and underscores, and must not be in use already. The full address must be a web address. Staff can choose only departments that their roles manage.
  • List (staff panel). The screen loads the links of every department the staff member manages, newest first. It shows summary counts: total links, active, disabled, and total opens. Each row shows the short name, the short address, the department, the number of opens, the status, and the creation date.
  • Filters (staff panel). A search box matches the short name or the full address. Staff can also filter by department and by status (active or disabled).
  • Actions (staff panel). Copy puts the short address on the clipboard. Disable and Enable switch the link at once. Delete asks for a confirmation and then removes the link permanently.
  • Anyone can open a short link. No sign-in is needed (backend).
  • An active link adds one to its open count and then sends the person to the full address (backend).
  • A disabled link, or a short name that does not exist, shows a "link not found" error (backend).
  • A WhatsApp button that points to a short link that does not exist also ends on "link not found". This happens with the Utsav group button when no group link is set (see Known limitations below).

A super admin manages temporary access links on a separate screen. Each one is a short link that opens a staff-panel view, which the staff panel shows as read-only, until an expiry date. Accounts, Identity & Authentication owns the access rules.

  • A temporary access link for the Utsav report also appears in the Utsav short link list. Disabling or deleting it there also stops its access (backend). The backend also supports an Adhyayan report link, which would appear in the Adhyayan list, but the staff panel does not offer it.
  • A temporary access link for another staff-panel page appears only on the super admin's screen.
  • A temporary access link that reuses an existing short name takes over that name, even when it belongs to an ordinary department link. The name then points to the temporary access link's view and becomes active (backend).

App updates

  • At startup, the member app checks its installed version against the latest version recorded in the backend.
  • The backend keeps a separate version record for Android and for iOS. The newest record for the phone's system is the one that counts. It holds the version number, a required-update flag, and release notes (backend).
  • No staff panel screen sets these records. They are entered outside the panel (backend and staff panel).
  • The update message shows only when the recorded version is newer than the installed one. It shows the release notes (member app).
  • "Update" opens the Aashray page in the Google Play Store or the Apple App Store. The member app holds these store addresses itself; the backend does not send them (member app).
  • A required update blocks normal member app use until the member updates.
  • An optional update can be delayed until the next local midnight.
  • If the check fails, for example with no connection or no version record, the member app opens normally and shows nothing (member app).
  • This process updates the whole member app. It does not turn individual features on or off for selected members.

Known limitations today

  • The backend refreshes a member's phone push address at sign-in. A new device can stop receiving push messages until the member signs in again. Because each card holds only one push address, a member who uses two phones gets push messages only on the last one used to sign in. Signing out on either phone stops push messages on both.
  • A push address for a device that no longer exists stays on the card. The backend only logs the delivery error.
  • The backend lets any request that carries a valid card number send push messages, with any text, to any push addresses. No member app screen uses this.
  • A phone number from a country that the backend does not know gets the India code. The WhatsApp message then goes to a wrong number or fails.
  • The Utsav booking confirmation WhatsApp message carries the group button even when the Utsav has no group link. The button then opens "link not found" (backend).
  • The staff panel cannot edit a short link's full address. To change it, staff must delete the link and create it again, which resets its open count.
  • Some automatic alerts use fixed recipient lists. Staff cannot change these recipients in the staff panel.
  • A notification can fail without a member-facing recovery step.
  • A flat booking that goes to the waitlist gets no WhatsApp message, because no waitlist message exists for flats yet (backend).
  • The Permanent Resident check for the meal WhatsApp message looks only at the first person in the booking. When one booking covers meals for several people, the first person alone decides whether the message is sent or skipped (backend).