v1.6.20
2026-11-03
Fair use limits
- Where your plan includes a set number of staff logins, Users & Roles shows how many are in use once 80% are taken. When all are in use, a new staff login asks you to switch one off or ask your provider for more. Customer and portal logins are never counted, and nobody is ever switched off.
- Where your plan limits imports, one import file can carry up to 5,000 rows. A bigger file is refused before anything is imported, with a note to split it.
- Where your plan limits photo size, uploaded photos are saved at up to 1600 pixels on the longest side, turned the right way up, so pages load faster and use less storage. Smaller photos are kept exactly as sent.
v1.6.19
2026-10-14
Users screen and sign-in limits
- Adding or editing a user checks every field: an email another login already uses, or a name or phone that is too long, now gets a clear message instead of an error page.
- New user no longer offers the Passenger role: those logins are made from their own record, which links them. An existing one keeps its role when edited, and you can still switch it off here.
v1.6.18
2026-10-13
Forms handle unusual input quietly
- Every form and filter reads each field as plain text, so an unusual value sent to a form no longer records a warning. Ordinary entries are saved exactly as before.
v1.6.17
2026-10-13
Settings are read in full during set-up
- While a new copy is being set up or its sample data rebuilt, the app now reads every saved setting. Before this update, saving one setting during set-up could make the others (such as message templates and number prefixes) read as blank until the next page load.
v1.6.16
2026-10-13
Search finds exactly what you type
- Every search box treats % and _ as ordinary characters, so a search finds exactly what you typed instead of acting as a wildcard.
- Search handles an unusual web address quietly instead of recording a warning.
v1.6.15
2026-10-12
Uploaded files go through the shared file check
- Files you upload are now checked and stored by the same shared upload check as the rest of the app: the content must match the file type, and the file is saved under a random name.
- Uploading a logo on the Branding page works again on hosted copies; before this update it could fail without showing an error.
- The logo and favicon upload on the Settings page works again.
v1.6.14
2026-10-12
Logo and favicon uploads use the shared image check
- Uploading a logo or favicon in Settings now goes through the same image check as the rest of the app: the file type is read from the file itself, the size is limited, and an SVG with scripting is refused.
- Nothing changes in how you upload.
v1.6.13
2026-10-12
Security fixes
- Limits on public lookups now apply per visitor, whatever code they try.
- The data API is for staff accounts only.
- The demo cannot change the demo sign-in or staff records.
- Links in rich text must point to a real web address.
v1.6.12
2026-10-12
Lists, search and forms handle unusual input
- A list opened with a very large page number now shows its last page instead of an error.
- Search boxes treat % and _ as ordinary characters, so a search finds exactly what you typed.
- When a form is sent back to correct a mistake, what you typed is shown on that form only. Before this update it could also fill in the next form you opened, even for a different record.
v1.6.11
2026-10-12
Security fixes
- Signing out now clears data the app saved on the device for offline use.
- Outgoing email checks the mail server address and cleans every header.
- Access checks for each role were tightened.
v1.6.10
2026-10-12
Security fixes
- Changing or resetting a password signs that account out on every other device.
- An account is locked for 15 minutes after 10 wrong passwords, whichever device they come from.
- Seat holds, ticket links and staff two-step sign-in have stricter limits, and a phone number is linked to an account only after it is verified.
v1.6.9
2026-10-12
Security fixes
- A user you switch off is signed out at once, everywhere, instead of when their session runs out.
- Registering can no longer take over an existing passenger's account; bookings follow a verified phone only; custom pages and help articles are cleaned of scripts; the PhonePe webhook refuses an unconfigured gateway.
v1.6.8
2026-10-12
Sign-in sessions stay with this app
- A sign-in now only works on the app it was made on, and is cleared if it turns up anywhere else.
- Everyone is asked to sign in once more after this update.
v1.6.7
2026-10-11
A guided tour of the menu
- The first time you open the app, a short tour walks through the menu one item at a time: what each place is for, with Next, Back and Skip.
- Take the tour again from the foot of the menu. On a phone the tour opens the menu for you.
v1.6.6
2026-10-10
Clearer storage notices
- The storage notice in the admin now says how much is used of how much, for example "430 MB of 512 MB".
- The notice at 80% can be hidden for a day with "Hide". From 95% on it always shows.
- When an upload is refused because storage is full, the message names your provider and offers "Buy more storage" when they sell it.
v1.6.5
2026-10-09
Times now follow your local time
- Fixed: due and overdue items, "today" lists, reminders and expiry times now follow your local time. Before, some of them ran up to 5½ hours late, and between midnight and 5:30 AM "today" could show yesterday.
- Fixed: a seat held by a passenger who did not finish paying stayed blocked for over 5 hours. It is now free again as soon as the hold ends.
v1.6.4
2026-10-09
Security hardening
- Browsers are now told to always open this app over a secure connection.
- Pictures in SVG format are shown safely: any script hidden inside one can no longer run.
v1.6.3
2026-10-09
Security and reliability update
- Signing in now issues a fresh security token for the new session, so a token from before you signed in can no longer be used.
- This app now runs on the same up-to-date core as every other app, so security fixes reach it at the same time.
v1.6.2
2026-10-08
Buy more storage from the app
- When the app is close to its storage limit or full, the notice now has a "Buy more storage" button that takes you to your provider's store, if they sell extra storage.
- The "storage full" screen leads with the same button, so more space is one tap away.
v1.6.1
2026-10-08
Dashboard touch-ups
- The greeting now uses your name correctly when it starts with a title or an initial, for example "Good morning, Dr. Meera".
- Initials in dashboard lists skip symbols, so "Repairs & service" shows "RS".
v1.6.0
2026-10-08
Storage limit notices
- The admin shows a notice when the app has used 80% and 95% of the storage your provider gave it.
- When storage is full, new uploads and imports in the admin pause until more space is added. Everything else keeps working, and your website and customer pages are never affected.
- If your provider uses a hard limit, 7 days after storage fills up the admin shows a "storage full" screen with their contact details and a way to request a full copy of your data. Report downloads keep working.
v1.5.1
2026-10-08
No sample reviews on a new website
- A new website no longer starts with three sample traveller reviews. The reviews section stays hidden until you add your own real ones in Landing Page.
v1.5.0
2026-10-08
A clearer dashboard: what needs you today, first
- The dashboard now greets you by name with today's date, and opens with up to four bold tiles for what needs action today. Tap any tile to open the list behind it.
- Amber is used only for things that are overdue or need attention, so they stand out.
- Today's work is shown as a simple list with initials, status and time, and the other totals sit in quieter cards below.
- The side menu shows a small count next to lists that have work waiting.
- The public website has a new look: a bold header with the search card up front, clearer route and feature cards, a question-and-answer list that opens on tap, and a new footer.
v1.4.2
2026-10-07
Payment confirmation refuses when the gateway is not set up
- A payment is now confirmed only when the payment gateway's secret key is set. If the key is missing or has been cleared, the confirmation is refused instead of being checked against an empty key, and the payment stays unpaid.
v1.4.1
2026-10-06
Deleting a user works again
- On a user's edit screen, the red delete button saved the form instead of deleting the user, and did not ask first. It now sits on its own row as Delete user, asks you to confirm, and deletes the user.
v1.4.0
2026-10-05
Report a bug and Request a feature, step by step
- Report a bug and Request a feature are now two separate guided forms, three short steps each.
- A bug report asks what happened, what you did just before and how much it affects you, and notes the screen you were on.
- Attach up to five screenshots: pick them, drag them in, or paste straight from the clipboard. Large images are shrunk for you.
- New help page: Bug reports & feature requests.
v1.3.2
2026-09-26
Empty optional fields no longer stop a save
- Saving a record with an optional date, time, number or choice left empty could fail with an error page. An empty value is now saved as blank or as the field's usual default, a value that is really needed is asked for on the form, and a date, time or number the system cannot store is sent back to the form with a clear message. Saving a record that repeats one that must be unique (the same code, time slot or login, for example) now says so on the form instead of failing.
v1.3.1
2026-09-26
Only staff can mark a counter payment received
- Confirming an offline (pay-at-counter / pay-on-board) payment as received now requires a signed-in counter, agent or admin user. A passenger can reserve their seats and is told to pay at the counter or on board; the booking is confirmed only once a staff member records the payment. Online gateway payments are unchanged and still verified before a booking is confirmed.
v1.3.0
2026-08-30
Use your own web address
- Settings now has "Your web address" — connect a domain you already own (for example book.yourbusiness.com) to this app yourself, without going back to your provider.
- We show the exact DNS record to add, check it for you, and switch on a secure HTTPS certificate automatically once it is detected.
- Your original address keeps working, so links and bookmarks people already have are never broken.
v1.2.2
2026-08-28
Missing bookings and seat layouts show a proper "not found" page
- Fixed: opening a booking or a seat layout with an id that no longer exists showed a server error instead of a clean "not found" page — for example after the record was deleted in another tab, or from a stale bookmark or link.
- Cause: these screens call a shared "not found" helper that was only defined on part of the controller hierarchy, so the missing-record branch crashed. Each of those screens now defines the helper itself.
v1.2.1
2026-07-30
Notification templates now honored for every message type
- Fixed a shared-kernel bug: notifications for anything other than the 'otp' code were ignoring your custom message copy in Notification Templates and sending generic placeholder text (or the raw template code) instead.
- Notify::user() now looks up the active template body by code first, falling back to the built-in starter copy only if no matching template row exists.
v1.3.0
2026-07-12
Redesigned Settings + Cashfree payments
- Settings is reorganised into clear cards — everyday options up top, technical ones under "Advanced".
- New: logo & favicon upload, SEO title/description, and a switch to show or hide the public landing page.
- Payments now support Razorpay AND Cashfree — pick one; the webhook URL to paste into your gateway is shown right there.
- Email via Brevo or your own SMTP; SMS via MSG91 (transactional or DLT) — choose one of each.
v1.2.0
2026-06-29
In-app documentation & What's new
- New searchable Documentation handbook, with light & dark mode.
- A "What's new" panel in the header announces every release.
- A versioned changelog you can browse release by release.
v1.1.0
2026-06-19
- White-label polish — your logo, brand name and colour palette across every screen.
- Customisable colour presets plus a fully custom palette option.
- Faster dashboards and accessibility improvements.
v1.0.0
2026-06-19
- Initial release — booking funnel with a live seat map, instant PNR + QR e-tickets and PNR lookup.
- No-double-booking guarantee — seat holds and locking shared across web, counter and travel-agent channels.
- Visual seat-layout builder (seater/sleeper, multi-deck), buses, routes, boarding points and schedules.
- Trip generation, the trip console with crew assignment, status lifecycle and printable manifests.
- Travel-agent portal with commission and a ledger; driver & conductor phone apps (PWA).
- Live GPS tracking on a map, public PNR tracking, and parcel/courier handling with LR slips.
- Multi-gateway online payments with server-side verification and HMAC-signed webhooks.
- Reports & analytics with CSV export, branding, a landing-page builder and custom pages.