private async Task <string> HandleMessageAsync(Message message)
        {
            if (message.Text.StartsWith("/subscribe"))
            {
                await SubscriptionDB.CreateAsync(new TelegramSubscription { ChatId = message.Chat.Id }).ConfigureAwait(false);

                return("Welcome! You subscribed to the notifications.");
            }
            if (message.Text.StartsWith("/ping"))
            {
                return("Pong!");
            }
            if (message.Text.StartsWith("/last"))
            {
                var lastMessage = await NotificationsDB.LoadLatestAsync().ConfigureAwait(false);

                if (lastMessage == null)
                {
                    return("No messages yet.");
                }

                var lastMessageTime = lastMessage.Timestamp + (message.Date - DateTime.UtcNow);
                var formattedStatus = FormatBookingStatus(lastMessage.Status);
                return($"Latest message was at {lastMessageTime:T}\n{formattedStatus}");
            }

            return(@"Usage:
/subscribe - subscribe to notifications
");
        }
        public async Task NotifyAsync(BookingStatus bookingStatus)
        {
            const string bookingUnavailable = "Vérification de disponibilité";

            if (bookingStatus.Title.Contains(bookingUnavailable))
            {
                bookingStatus.PageSource = null;
            }
            await NotificationsDB.InsertAsync(new TelegramNotification { Status = bookingStatus }).ConfigureAwait(false);

            var lastNotification = await NotificationsDB.LoadLatestAsync().ConfigureAwait(false);

            if (bookingStatus.Title == lastNotification?.Status?.Title || bookingStatus.Title.Contains(bookingUnavailable))
            {
                return;
            }

            await NotifySubscribersAsync(bookingStatus).ConfigureAwait(false);
        }