Дві моделі списання і звірка з SENET

Чому 5 годин по 37 ₴ можуть дати 185,00 ₴ або 185,01 ₴ — і як зробити, щоб виторг зійшовся до копійки.

Навіщо тут узагалі вибір

Годинна ставка не завжди ділиться на 60 без остачі. 60 ₴/год — це рівно 1 ₴ за хвилину, а 37 ₴/год — це 0,61666… ₴. Далі все залежить від того, де саме округлити, і різні системи роблять це по-різному. На одній сесії різниця — копійка, на дні роботи клубу — кілька гривень, а на звірці з іншою системою — привід шукати «зникле» замість того, щоб працювати.

Тому в налаштуваннях тарифу зони є модель списання.

Наша модель: округлення часу

За замовчуванням. Працює так:

  1. фактичну тривалість округлюємо вгору за правилом округлення часу (посекундно, до хвилини, до 5 або 15 хвилин — це ваш вибір поруч);
  2. гроші рахуємо пропорційно цьому часу за годинною ставкою;
  3. найменша одиниця — копійка, помилка не накопичується.

5 годин по 37 ₴ = 185,00 ₴. Скільки б годин гравець не грав, сума лишається рівно тією, яку ви очікуєте з калькулятора.

Модель SENET: ціна хвилини

Вмикається перемикачем «як у SENET». Працює так:

  1. ціна хвилини = ставка ÷ 60, округлена до N знаків гривні (у SENET за замовчуванням 4, тобто до сотої частини копійки);
  2. час завжди округлюється вгору до повної хвилини — незалежно від правила округлення часу;
  3. сума = ця ціна × кількість хвилин.

5 годин по 37 ₴ = 185,01 ₴: хвилина коштує 0,6167 ₴ (замість точних 0,61666…), і ця сота частка копійки, помножена на 300 хвилин, дає ту саму копійку зверху.

Коли який вмикати

Наш режим — постійно. Це чесніший розрахунок, і клуб бачить рівні суми.

Режим SENET — на час паралельної обкатки. Якщо ви переходите зі SENET і перші тижні працюєте у двох системах одночасно (як переходити), увімкніть його: тоді виторг за день має зійтися до копійки, і будь-яка розбіжність — це справжня розбіжність, а не різниця арифметики. Коли перехід завершено, поверніться на наш режим.

Де різниця не з’явиться взагалі

Якщо ваші ставки кратні 60 копійкам за годину — 30, 45, 60, 90, 120 ₴ і подібні — обидві моделі дають однакові суми, бо ціна хвилини виходить рівною. Різницю створюють лише «незручні» ставки: 37, 55, 65, 85 ₴ і так далі.

Знаки в ціні хвилини

Поле зʼявляється лише в режимі SENET. Чим менше знаків, тим грубіша хвилинна ціна:

ЗнаківХвилина при 37 ₴/годГодинаРізниця з точним
4 (як у SENET)0,6167 ₴37,00 ₴0
30,617 ₴37,02 ₴+2 коп
20,62 ₴37,20 ₴+20 коп

Менше двох знаків система не приймає: у SENET нуль знаків просто ламає білінг (тариф стає «0 ₴/год»), і повторювати цю пастку ми не стали — значення затискається, а не валить розрахунок.