Heartfelt thanks for choosing to use booking bot by zweb, the Telegram bot that simplifies bookings of spaces and services for temporary rental.
This guide is designed to provide an overview of the bot's features and the ways of interacting with it. Enjoy the reading.
This guide is related to the software version R34
Below is a list with a brief description of what the Zweb Booking Bot application offers. With this bot you can:
In addition to all previous features, the service manager can also:
.xlsx
format (Microsoft Excel), a reservation table based on quantity of reservations, or by specifying a month and year, or retrieve only the reservations that are still active (future reservations, both active or cancelled by the user);csv
format (comma separated values, universal file format that can be opened by spreadsheet applications and simple text editors);The service manager will be recognized by the system automatically, based on the Telegram ID specified in the configuration file. You can now specify more than one service manager.
The manual configuration of the bot, which is generally carried out when the service is started by editing a specific configuration text file, also allows you to:
Remember: the recipes text commands refer to what is in the configuration file. Changes in that file will affect the commands are written. Please read the dev guide for further details.
A: A telegram text message with user and date-time of the reservation will be sent to all keepers of the service. Prior to receive such messages, a keeper has to interact with the chat bot at least once. This is not an issue of our bot, it's Telegram anti-spam policy. You can also periodically check the active (or all the) reservations by using button or text commands.
A: Write in the chat text field:
.set rule Tue 09:30/13:00,15:00/22:30 2024-06-05
Normally, the days of the week are Mon, Tue, Wed, Thu, Fri, Sat, Sun. As you can see, the time intervals must be written without spaces, and separated from each other only by a comma (the system will try to prevent setting bad formatted data). You can currently put a maximum of 3 time intervals. Next, enter the year, month and date of the start of the rule (warning: this can change, if you choose another short time format), with the parts of date separated by hyphen.
A: Suppose we have multiple services, and that the service with a different shift has the name court1 as short_name in the configuration. For example, write in the chat text field:
.set service rule Tue 12:00/19:30 05-06-2024 30-08-2024 court1
This will ensure that the rule for the field1 service has priority when a user books, and is used instead of the previous one (which still has general validity)
Just put, in the previous writing, any date in the past (before today), et voilĂ !
A. To delete the last inserted rule you can write:
.delete last rule
Warning: if this command is used multiple times, each time it will delete a rule.
Alternatively, since the last rule entered relating to a certain day of the week is the valid one, it will be sufficient to set a new one. For example, if you insert a new rule with the same day of the week and the same date, the system will use the last one inserted, ignoring all the others.
A: Writing in chat:
.show active shifts
A: Write in the chat text field:
.get latest 50
Instead of 50, you can enter any number you prefer.
A: Press the /reservations_text
or /reservations_xls
button in the Telegram keyboard, and you will receive them either in text or in Excel (.xlsx) format.
A: Write in the chat text field:
.get 2024-04
First the year, then the month, separated by a hyphen.
A: Write in the chat text field:
.get all
Note: This file may become relatively large over time if your business volume is large. The reason why the archive is in 'csv' format is this: the file will remain smaller in size, the format is universal, and the system will update it with each booking and cancellation, keeping it ready in case you request it.
A: First of all, recover the reservations with one of the methods already seen. Write down the value in the rid
field of that reservation line. Then write in chat:
.cancel 1234
, replacing "1234" with the corresponding rid
. Attention: this operation cannot be canceled unless you make the same reservation again!
Note: For privacy reasons, the bot cannot notify the user that their reservation has been cancelled: it would be kind of you to write to him and tell him!
A: Write in the chat text field:
.get users
A: First retrieve the users as written above, and write down their "id". You can deactivate a specific user by writing in chat:
.disable user {id}
, inserting the user's numeric id
(without parentheses) in place of "{id}". If the user was already blocked, no changes will be made. Once the user is blocked, their booking process will also be blocked.
Note: If the user was making a reservation at the time they were blocked, they could still make it. From that moment, however, it will no longer be possible for him to make new ones.
A: Just write:
.enable user {id}
, inserting the user's numeric id
(without brackets) in place of "{id}", i.e. 1234. If the user was already enabled, no changes will be made.
A. From version 0.20Beta, this is only possible for the manager, on a weekly basis. Let's say the first Monday is April 22, 2024 and the service has the short_name "Gym2" (check the config file, under the property services, and for each service choose a short_name of your liking). Every Monday for two months means at least 8 bookings. We will use the following command:
.book 8 times 22-04-2024 16:00/18:00 Gym2
A. You simply have to write a message line containing all the necessary data for the reservation, including a name at the end of the message. This name will help you remind of the reservation, yet the system will also store the keepers' telegram id, so that you'll know that you booked on someone else's behalf. Example of fast reservation:
.b 2024-06-20 18:00/20:00 Gym2 John Doe
Please note that:
These are the standard text commands structures with parameters in curly braces. You don't have to put the braces when writing a command, as shown in the examples above.
Internal name of the command | Command structure with parameters |
---|---|
"get_all_csv" | .get all |
"get_latest_excel" | .get latest {n_reservations} |
"cancel_one" | .cancel {reservation_id} |
"set_day_shift" | .set rule {weekday_short} {shifts} {start_time} {end_time} |
"set_service_day_shift" | .set service rule {weekday_short} {shifts} {start_time} {end_time} {service_short_name} |
"get_active_shifts" | .get active shifts |
"get_service_shifts" | .get service shifts {service_short_name} |
"delete_last_inserted_rule" | .delete last rule |
"enable_registered_user" | .enable user {user_id} |
"disable_registered_user" | .disable user {user_id} |
"delete_registered_user" | .delete user {user_id} |
"promote_user" | .promote user {user_id} {role_name} |
"get_registered_users" | .get users |
"reservations_by_month" | .get reservations {year_dash_month} |
"multiple_reservation" | .book {x} times {yyyy_mm_dd} {time_interval} {service_short_name} {user_full_name} |
"fast_reservation" | .b {yyyy_mm_dd} {time_interval} {service_short_name} {user_full_name} |
.get users
, or get an excel formatted list of the reservations, where the user id is shown under the relative column.Through further configuration parameters, it is possible to decide:
To modify these parameters, access to the web space that hosts the application code is required, with minimal programming experience. The configuration parameters allow you to customize the experience of using the chatbot, especially in the initial phase. Please consult the Dev Guide for further details.
The software currently has some limitations to the functions just seen: