Настройка тарифов
Материал из GameClass Wiki
Для настройки тарифов зайдите в настройки системы в закладку Тарифы
GameClass позволяет привязать набор тарифов (группу тарифов) к группе компьютеров. Таким образом имеется возможность задать разные тарифы для разных групп компьютеров. Переключаться между группами тарифов можно с помощью выпадающего списка с группами компьютеров. Одной группе компьютеров должна соответствовать одна группа тарифов.
Каждый тариф задается набором из одного или нескольких тарифных интервалов. Обязательно должна задаваться базовая стоимость часа - она задается одним тарифным интервалом, для которого нужно указать время с 0:00 по 0:00 и назначить все дни недели, это означает, что заданный тариф действует на все сутки на всю неделю (т.е. задается базовая стоимость для тарифа). Вы можете добавить другие тарифные интервалы с ограниченным временем действия (например с 7:00 по 12:00) и другой стоимостью (ниже базовой). Базовая стоимость должна быть самой высокой. Алгоритм по определению стоимости работает так, что выбирается наиболее дешевый вариант оплаты из доступных.
Вы можете выбрать для тарифного интервала дни недели, в течение которых он действует. Также, интервал может иметь условие ">= Х часов". Если условие выполняется, то этот тарифный интервал принимает участие в расчете стоимости.
Еще раз уточним, что алгоритм расчета стоимости работает так, что он всегда выбирает интервал с меньшей стоимостью. Таким образом, Вы можете ввести систему скидок. Сначала задаете базовый тарифный интервал с высокой стоимостью часа, а потом добавляете другие тарифные интервалы с условием (например, >= 3) часов и меньшей стоимостью часа.
Пример 1:
В Вашем клубе стоимость 1 часа игры - 10 рублей. Однако Вам выгодно, чтобы клиент сидел дольше времени, пусть и дешевле. Вы решаете, что при покупке 2 часов и более, стоимость часа = 9 рублей, а при покупке 3 и более часов, стоимость часа = 8 рублей. В этом случае Вы создаете тариф "игры" и добавляете для него 3 интервала, каждый с 0:00 по 0:00. Для второго интервала выбираете условие >=2 Часов, а для третьего >=3 Часов. Готово.
Пример 2:
У вас круглосуточно игры 10 рублей в час, но Вы хотите, чтобы с 23 вечера по 8 утра была почасовая стоимость 7 рублей. В этом случае для тарифа "игры" создаете 2 интервала. Первый с 0:00 по 0:00 со стоимостью 10 рублей, второй с 23:00 по 8:00 со стоимостью 7 рублей.
Тарифный интервал может быть ПАКЕТНЫМ. Это означает, что цена указывается за весь промежуток времени. Это удобно использовать, когда продается "вся ночь" или "всё утро". Пакетные варианты отображаются (становятся доступными для выбора) в списке тарифов, когда наступает время их действия. Для пакетного варианта можно установить ограничение по количеству трафика, входящего в пакет (в тарифе, к которому принадлежит этот пакетный интервал, должна быть включена опция "интернет"). При использовании пакетного тарифа с интернетом, трафик будет автоматически заблокирован, если включенный объем трафика будет исчерпан, при этом на компьютере можно продолжать работать, но без интернета.
Кроме того, пакетный тарифный интервал может быть НЕЗАКРЕПЛЕННЫМ. Это означает, что подтариф имеет фиксированную продолжительность (например, 2 часа), но не ограничен временем начала.
Если в выбранном тарифе будет использоваться интернет - поставьте галочку "Интернет". Это повлияет на блокировку трафика, если у Вас активизирован модуль контроля интернет-трафика. Для почасовых тарифов существуют два режима учета трафика: первый - когда стоимость наработанного трафика вычитается из общей суммы баланса (в этом случае галочку "отдельная оплата" ставить не нужно). Второй - когда время считается отдельно от трафика. В этом случае нужно установить галочку "отдельная оплата". При этом можно задать количество трафика, которое будет добавлено с начала сеанса за каждый купленный час времени. Во втором режиме будет работать функция "Доплатить за трафик".
Если в выбранном тарифе будет использоваться интернет - поставьте галочку "Интернет". Это повлияет на блокировку трафика, если у Вас активизирован модуль контроля интернет-трафика. Для почасовых тарифов существуют два режима учета трафика: первый - когда стоимость наработанного трафика вычитается из общей суммы баланса (в этом случае галочку "отдельная оплата" ставить не нужно). Второй - когда время считается отдельно от трафика. В этом случае нужно установить галочку "отдельная оплата". При этом можно задать количество трафика, которое будет добавлено с начала сеанса за каждый купленный час времени. Во втором режиме будет работать функция "Доплатить за трафик".
"Округл.(по $)" - по этой сумме будет происходить округление денег на выбранном тарифе. К примеру, Вам удобно установить сумму 0.5 руб, потому что меньше 50 копеек - это уже не деньги. Или же наоборот, 5 рублей, что будет более выгодно для клуба, т.к. округление всегда происходит в большую сторону.
"Округл.(сек.)" - шаг округления по времени, указывается в секундах. Чтобы лучше понять, что означает этот параметр, проведите аналогию с "поминутными", "посекундными" тарифами сотовой связи.
Оба параметра округления влияют на итоговую сумму, сначала округляется в большую сторону время, а затем полученная по этому времени округляется сумма (также в бОльшую сторону).
Как избежать ошибок при разработке тарифа?
Приведём пример из жизни. Этот пример основан на проблеме, которая была у пользователя нашей программы и которую мы помогли решить, наглядно показав ошибку в разработанном тарифном плане. Пользователь задал следующий вопрос: "Как считаются тарифы в программе с применением учета отыгранного времени? Вопрос возник при применении таких тарифов (валюту указана украинская - "грн", т.е. гривны): 0:00-0:00 2.00 грн/ч (1ч ‹= x) 0:00-0:00 1.80 грн/ч ›=120 (1ч ‹ x ‹2ч) 0:00-0:00 1.60 грн/ч ›=180 (2ч ‹= x ‹3ч) 0:00-0:00 1.00 грн/ч ›=240 (4ч ‹= x) Все нормально работает до тех пор, пока я не добавляю последнюю строчку. Т.е. я хочу, чтобы человек пришел, дал 5 грн. и сыграл 3 часа, дал 6 грн. - играл 6 часов. С учетом добавленной строки получается, что человек дает 5 грн. и играет 5 часов.
Наш ответ пользователю:
Вот что на самом деле (а в скобочках написано то, что думали Вы)... 0:00-0:00 2.00 ч (1ч ‹= x) - если берет ‹2ч, то по 2 грн. 0:00-0:00 1.80 ч ›=120 (1ч ‹ x ‹2ч) - если берет ›=2ч и ‹3ч, то по 1,80 грн. 0:00-0:00 1.60 ч ›=180 (2ч ‹= x ‹3ч) - если берет ›=3ч и ‹4ч, то по 1,60 грн. 0:00-0:00 1.00 ч ›=240 (4ч ‹= x) - если берет ›=4ч, то по 1 грн. Алгоритм работает именно так, как он и задуман - вначале берется самая дешевая стоимость и, если условие выполняется, то эта стоимость берется за действующую. В вашем случае и 6 грн и 5 грн. и даже 4 грн. удовлетворяют последней строке (>=240, стоимость 1 грн.). Чтобы стало понятнее, как работает алгоритм - посмотрите рисунок.
На рисунке в графическом виде представлены заданные вами тарифы. Кружок с номером означает номер строки из заданного Вами тарифа. Например "0:00-0:00 1.60 ч ›=180 (2ч ‹= x ‹3ч)" - это строка номер 3, на картинке ей соответствует линия, касающаяся кружка с номером 3 внутри. График показывает количество часов, которые выдает алгоритм в зависимости от введенной суммы. Т.к. алгоритм выбирает более дешевый вариант для клиента, то результатом работы алгоритма является ТОЛСТАЯ красная полоса. Как видите, в Вашем случае введенный третий интервал с условием (›=180) просто не попадает в алгоритм, а второй попадает, но только в начале. Фактически работают только первый и последние интервалы. Справедливости ради надо заметить, что график нарисован для округления по деньгам 0,01 и по времени - 1 секунда. Если округление будет более грубое, то график слегка поменяется.
Смотрите также статью Программа выдает сообщение о критической ошибке "Тарифная сетка содержит пустые интервалы! Отсутствует текущий тариф!"

