Skip to content

Payments, Credits & Reconciliation

Part of the Aashray Business Logic. Related: Booking Lifecycle, Stays: Rooms & Flats, Food, Travel, Adhyayan & Utsav, Status & Cron. For implementation detail — exact routes, database structure, and known code-level defects — see the companion Technical Reference — Payments, Credits & Reconciliation.

This is the money domain, and it's fundamentally a lifecycle, not a single transaction: the system sets a price centrally, a member's payment (or non-payment) is just the event that starts things moving, a later cancellation may turn what they paid into credit instead of a refund, and none of it is truly finished until staff close the loop by reconciling what Aashray recorded against what the payment gateway actually settled into the centre's bank account.


Step one: a price is set centrally

A member never types in or edits a price. Whenever someone builds a booking in the app — a stay, a flat, a meal, a study session, a festival package, or travel — the app sends the details to the system, and the system alone decides what it costs. The prices in effect today:

  • A non-AC room costs ₹700 per night; an AC room costs ₹1,100 per night.
  • A flat costs the same as a non-AC room per night — except a flat owner booking their own flat pays nothing.
  • Breakfast costs ₹60 per plate; lunch and dinner cost ₹120 per plate each.
  • A study session (adhyayan) or festival (utsav) costs whatever amount staff have set for that specific session or package.
  • Travel costs nothing at the time of booking — a staff member sets (or waives) the fare afterward.
  • A seat that lands on a waitlist is never charged until it's promoted to a confirmed seat.

Step two: a member pays

Three ways to settle a booking exist today:

  1. Pay online, now — the normal path for members in India. The member is shown the total and pays through the app's checkout.
  2. Pay later, within a set window — for certain bookings, a member can commit now and settle payment afterward, but only within 24 hours (see "The 24-hour payment window," below).
  3. Pay in cash at the centre — used for bookings staff create on a member's behalf, and automatically for members whose country isn't India, since online payment isn't available to them.

Members paying with an international (non-Indian) card cannot pay online today. Their bookings default to pay-in-cash instead.

The 24-hour payment window

A booking left in "pay later" status is automatically cancelled if the member hasn't completed payment within 24 hours of booking it. This is purely about finishing payment — it's a different rule from, and shouldn't be confused with, the separate 24-hour lead time staff use when confirming travel arrangements (see Travel).

  • The app shows a live countdown on pending payments: green while there's time, orange as the deadline nears, red once it has expired.
  • Once expired, the item can no longer be paid — the booking is simply cancelled.
  • Cash-based bookings are exempt from this window; they never expire this way.
  • If a pending item already had credit applied toward it, that credit is safely returned when the 24-hour cancellation happens.

A payment-confirmation gap

When a member pays online, the payment provider is supposed to notify Aashray that the payment succeeded, and that notification is what marks the booking as paid and confirms it. Today, Aashray does not verify that this notification genuinely came from the payment provider — there's no check in place to confirm authenticity. In principle, someone who knew the right message to send could mark a booking as paid without actually paying. This is a security gap that needs closing.


Step three: if it's cancelled, money becomes credit — never cash

Once a payment has been collected, the next event in its lifecycle, if any, is usually a cancellation. Aashray has no concept of a cash refund anywhere: when a paid booking is cancelled, the amount always becomes store credit, never money back to a card or bank account. If an unpaid booking that already had some credit applied to it is cancelled, only that previously-applied credit is returned; nothing new is created.

Store credit

Store credit is Aashray's own currency inside the app — 1 credit = ₹1. It cannot be withdrawn or converted to cash; it can only be spent on a future eligible booking.

  • Earning credit. A member earns credit when a booking they already paid for gets cancelled — the amount they paid becomes credit instead of a refund. Credit is tracked separately per category: stay/flat, food, travel, festival (utsav), and study session (adhyayan).
  • Spending credit. Available credit is applied automatically the next time a member books something in the same category — they never have to choose to use it. If the credit fully covers the price, no online payment step is needed at all, and the booking is confirmed right away.
  • Where a member sees it. Their profile shows available credit by category, and the booking review screen shows the original price struck through with the credit applied and the new amount due.

Gaps in how credit works today: - Study-session (adhyayan) bookings don't participate in the credit system at all. A member's existing credit is never applied to reduce an adhyayan charge, and cancelling a paid adhyayan booking never earns credit back. - Travel bookings don't earn credit when cancelled either — unlike stays, flats, and food, which all correctly convert a cancelled paid booking into credit. - Festival (utsav) credit is one-sided. A member can spend utsav credit and see it previewed before paying, but an ordinary cancellation of a paid festival booking does not earn credit back — only a specific staff-only cancellation path can grant it. A member who cancels a paid festival booking the normal way effectively loses that money, unlike every other booking type.


Step four: staff close the loop — settlements and reconciliation

This is the stage that finishes the lifecycle for every payment, not just the ones that get cancelled: it's how staff confirm that money Aashray believes it collected actually landed in the centre's bank account. Behind the scenes, staff periodically import reports from the payment provider showing which payments actually settled, and match them against Aashray's own record of what members paid. From this, staff can:

  • See which of Aashray's payments belong to which settlement batch, and drill into any one payment.
  • Generate vouchers/receipts for completed payments.
  • Review every member's store-credit balance and history.
  • See standing reports of credit granted, credit spent, and payments still pending.

This reconciliation only runs when staff manually import the provider's reports — it isn't automatic or continuous today.


Known limitations today

  • Adhyayan (study session) bookings sit outside the credit system entirely — no credit applied at checkout, none earned on cancellation.
  • Travel bookings don't earn credit on cancellation, unlike stays, flats, and food.
  • Festival (utsav) credit is asymmetric — spendable, but not earned back through an ordinary cancellation.
  • The online-payment confirmation step isn't verified against the payment provider, which is a security gap (see above).
  • International cards can't pay online — those members are routed to pay in cash instead.
  • Flats are priced at the non-AC room rate, with no distinct flat price of their own, even though this may not reflect the intended pricing.

Full engineering detail, and every other known defect, is tracked in the technical reference.