Контекст: Расчёт стоимости бронирования урезал дробные часы в пользу клиента. 2.5 часа = 2 часа в расчёте.
Было:
hours := int(b.EndTime.Sub(b.StartTime).Hours())
// 2.5 → 2, потеря выручки 20%
Стало:
hours := math.Ceil(b.EndTime.Sub(b.StartTime).Hours())
// 2.5 → 3, округление в пользу платформы
Почему Ceil: бронирование блокирует слот целиком, владелец не может продать оставшиеся 0.5 часа другому клиенту.
#pricing #booking #golang #bug