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