Skip to main content

Telegram professional Mini App

The professional Mini App (apps/master_tg_app) is where a professional runs their booking business from Telegram: schedules, services, offered time, appointments, blocked phones, notices, and setup progress. In connected mode the API owns all of this data. The app keeps no second copy in the browser, so the same professional sees the same records on any device.

Connected mode and preview​

The app picks its mode when it starts:

  • Connected: Telegram supplied raw launch data. The app signs in automatically through the API's channel authentication, as described in Mini App sign-in, and reads and writes only server data.
  • Preview: no launch data, for example when the page is opened in a normal browser. The app shows a banner marking the content as sample data and uses a separate local store. Preview never signs in, never calls the professional API, and never uploads its sample records.

Browser storage holds only the preview's sample data and setup state. Connected mode keeps account data in memory and never imports local sample data into a professional account.

What loads on launch​

After sign-in the app loads the professional's account in one step:

  • profile, including a short-lived link to the profile photo;
  • schedules, keeping only unarchived ones on screen;
  • active services for each of those schedules;
  • blocked phones;
  • notification preferences and the inbox;
  • onboarding progress;
  • entitlement status.

While this runs, the app shows a loading state. If any part fails, it shows the error and a retry action instead of any stale or sample data. If the session cannot be used, it asks the professional to reopen the app from Telegram and offers no retry, because only fresh launch data can sign in again.

Calendar data follows the visible date​

Availability and appointments are loaded by date range, not all at once. For the selected schedule, the app reads 35 days before and after the visible date. Before each read it asks the API to create recurring visits through the end of that range, so repeating appointments are present when the calendar shows them. See Professional appointments.

Moving the calendar reloads the range. If a range load fails, the app keeps the screen, shows the error, and offers a retry for that range.

Writes show the server's result​

Every change is sent to the API first. The app shows the new state only after the server confirms it, then reloads the affected data. If the server rejects the change, the previous data stays on screen and the form shows the reason. There are no optimistic updates to roll back.

AreaWhat the professional can doServer rules described in
SchedulesCreate, rename, archive, open or close booking channels, change mode and step settingsBooking schedules
ServicesAdd, edit, removeBooking services
Free timeSave or clear a day, repeat it for up to 5 weeks, turn weekly repetition on or offBooking availability
AppointmentsBook a client manually, optionally every 1 to 4 weeks; cancel one visit or all future onesProfessional appointments
AccountEdit the profile and photo, block phones, change notice preferences, read or dismiss notices, defer or finish setupProfessional account

Some screen actions map to server commands in a specific way:

  • Turning weekly repetition on uses the current week's free time as the template, starting from this week's Monday.
  • Turning a schedule on or off opens or closes both booking channels together; each channel can also be switched alone.
  • A booking conflict keeps the booking form open with a message to refresh the calendar and pick another time. No unconfirmed appointment is shown.
  • A profile photo is uploaded to private media storage first; only its media item ID is saved with the profile.

Setup and subscription​

In connected mode the setup checklist comes from the server's onboarding progress. Creating a schedule, adding a service, offering time, and receiving a first booking tick off its steps, and a real manual booking counts. The professional can defer, resume, skip, or finish setup.

The subscription screen shows the entitlement status reported by the API. The app cannot take payment or grant access: the payment action reports that payment is not available in the app, and cancelling only turns off the renewal intent. Personal offers are available only in preview.

Notices​

The notices screen shows the server inbox. Reading or dismissing a notice is saved on the server and survives a reopen on any device. The app does not listen for live hints; new notices appear when account data is next loaded, which happens on launch and after each change. See Booking notifications.

Signing out​

Signing out revokes the session, clears the account from the screen, and asks the professional to reopen the Mini App from Telegram. See Mini App sign-in.