(EN) Quick start for service owners

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

Functionality

Below is a list with a brief description of what the Zweb Booking Bot application offers. With this bot you can:

For the service manager

In addition to all previous features, the service manager can also:

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.

For the service configurator (developer) and/or 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:

Recipes and examples

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.

Q: How do I know a user made a reservation?

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.

Q: How do I create a rule to set my working shifts on a specific day of the week, such as every Tuesday, to be effective starting June 5, 2024?

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.

Q: What if the services I offer have different operating hours (shifts)?

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)

Q: What if I want a rule to be active immediately?

Just put, in the previous writing, any date in the past (before today), et voilĂ !

Q: I made a mistake in entering a rule. What do I do?

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.

Q: How do I view all active rules for shifts this week?

A: Writing in chat:

.show active shifts

Q: How do I retrieve the last 50 reservations entered?

A: Write in the chat text field:

.get latest 50

Instead of 50, you can enter any number you prefer.

Q: How do I get active reservations right now?

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.

Q: How do I get April 2024 reservations?

A: Write in the chat text field:

.get 2024-04

First the year, then the month, separated by a hyphen.

Q: How do I recover the full archive in .csv with all inserted / canceled reservations?

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.

Q: How do I cancel a specific reservation? I can't accept 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!

Q: How do I retrieve the list of registered users in Excel format?

A: Write in the chat text field:

.get users

Q: I have identified a fraudulent user: how can I block him?

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.

Q: What if I want to readmit him?

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.

Q: A customer asks me to book the service for two months every Monday, from 4pm to 6pm. Can I make a repeated reservation?

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

Q: A customer calls me and wants to make a reservation. How do I add it to the bot?

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:

Cheat Sheet

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}

Things to keep in mind!

Configuration

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.

Limitations

The software currently has some limitations to the functions just seen: