Technical assignment for the development of a bot for automatic monitoring and booking of tickets
1. General information
Project: Development of a bot for automated searching, booking, and notifying about tickets for events.
Monitoring platform: WeBook.
Interaction channels: Telegram notifications.
2. Functional requirements
2.1. Monitoring ticket availability
The bot must automatically track the appearance of tickets on the WeBook website based on user-defined parameters:
• Sector – the ability to specify one or several sectors (for example, C4, C6, C10).
• Row – setting the range of rows (for example, from 5 to 10).
• Pairing of seats – the ability to search only for paired tickets, any seats, or singles.
• Price range – setting the minimum and maximum ticket price.
• Date and time of the event – the ability to specify a specific date and time.
Requirements for monitoring frequency:
• Flexibly configurable interval for checking ticket availability (from 30 seconds to 5 minutes).
2.2. Automatic booking
The bot must automatically book tickets when they appear, if they meet the specified filters.
Booking process:
1. Adding tickets to the cart.
2. Selecting an available account for booking.
3. Preparing payment data.
4. Generating a payment link.
Additional settings:
• Minimum and maximum number of tickets in one purchase.
• Priority booking (if there are several ticket options to choose from).
• Ability to cancel the booking at the user's command.
2.3. Telegram notifications
After successful booking, the bot sends a notification to the user in Telegram in the following format:
📢 Tickets available according to your filter!
🎟 Event: Reignited 2
📅 Date: December 21, 2024, 16:30
📍 Location: Kingdom Arena, Saudi Arabia
✅ Booked tickets:
• Sector C4, Row A, Seats 19, 20 – 800 SAR
• Sector C6, Row B, Seats 18, 19 – 800 SAR
💳 Payment:
🔗 Payment link: /payment/XXXXXX
👤 Account for payment:
• Login: user email.com
• Password: qwerty123
⏳ Booking time: 10 minutes. Please pay for the ticket within this time, otherwise the booking will be automatically canceled.
Additional notifications:
• Reminder 2 minutes before the booking expires – if the ticket is not paid.
• Notification of successful payment – if such information can be obtained.
• Notification of booking cancellation – if the user did not pay for the ticket on time.
3. Administrative functions and settings
• Flexible editing of filters – changing ticket search parameters via Telegram.
• Account management – the ability to upload logins and passwords of accounts for booking.
• Booking history – logging all operations with timestamps, accounts, and booking parameters.
• Monitoring frequency settings – changing the ticket checking interval in real-time.
4. Technical implementation
4.1. Integrations and technologies used
• Ticket parsing – automated scanning of the WeBook website (Selenium, Playwright, Puppeteer, or API if available).
• Browser automation – emulating user actions for booking tickets.
• Telegram API – sending notifications and receiving commands from the user.
• Cloud storage – secure storage of account logins and passwords.
4.2. Server requirements
• VPS/Dedicated server – Linux (Ubuntu/Debian) or Windows Server.
• Support for Python/Node.js – depending on the chosen implementation technology.
• Stable internet connection – without restrictions on web scraping.
• Logging and monitoring system – the ability to track bot activity.
5. Development stages
1. Analysis of the structure of the WeBook website – determining monitoring and booking methods.
2. Development of the parser – creating a mechanism for searching and checking available tickets.
3. Implementation of booking functionality – automated addition of tickets to the cart.
4. Integration with Telegram – notifications and control commands.
5. Testing and optimization – checking the correctness of the bot's operation.
6. Deployment on the server – setting up continuous operation and monitoring.
6. Expected result
• Fully automated process of searching and booking tickets.
• Timely notifications in Telegram about available tickets and booking status.
• Flexible ticket filtering settings and booking parameters.
• Stable operation of the bot in 24/7 mode without the need for manual intervention.