Дилеры
Схема с дилерами подходит для ситуаций, когда:
- в рамках единого сервиса требуется выделить разные пласты абонентской базы и строить по ним отчёты;
- требуется создать учётную запись в панель администрирования Smarty, которой будут доступны только определенные абоненты и их финансовая информация.
Предположим, оператор «Телеком» на базе Smarty создал свой сервис «Телеком ТВ»: купил лицензию Smarty на 1 оператора, настроил список каналов, видеотеку, интегрировал внешнюю биллинговую систему и опубликовал в маркеты своё приложение. Абоненты регистрируются в приложении по номеру телефона, а также могут быть зарегистрированы через абонентский отдел — в этом случае их учетные записи заводятся вручную или через внешний биллинг.
Оператор «Телеком» заключил с магазином бытовой техники «Умные телевизоры» соглашение, по которому представители магазина советуют своим покупателям установить приложение «Телеком ТВ» и далее получают процент с оплаченных подписок таких абонентов. Чтобы это всё реализовать в Smarty оператор «Телеком» проделал следующие шаги:
- Создал в админке в разделе «Абоненты» -> «Дилеры» нового дилера для компании «Умные телевизоры»

2. Выдал созданную дилерскую учётную запись от админ.панели представителю «Умных телевизоров», а также инструкцию по созданию аккаунтов в сервисе.

3. Дилеру, авторизованному в админке, доступен только раздел с информацией об абонентах, аккаунтах и финансовых операциях. В рамках этих разделов он может заводить учетные записи для абонентов, которые автоматически будут к нему привязываться и будут доступны ему для просмотра и администрирования.

4. Далее, партнеры каждый месяц могут генерировать отчёт по произведенным финансовым операциям абонентов, привлеченных дилером, и производить взаиморасчёт.
Мультипровайдер
Перед операторами часто встают задачи по различным манипуляциям с брендами и сервисами: объединения нескольких абонентских сервисов в один, поглощение одного сервиса другим, выделение отдельного бренда из уже существующего сервиса и многие другие бизнес-сценарии.
Все они сводятся к тому, что возникает потребность в рамках одного сервера Smarty объединить 2 сервиса с определенными условиями. Ниже приведены примеры таких сценариев и наиболее предпочтительные варианты их реализации средствами платформы:
- у 2-х сервисов единый список каналов, единая биллинговая система, единые настройки, но разные бренды: в этом случае создание субоператора не потребуется, достаточно будет собрать 2 пакета приложений под разными брендами и названиями


- у 2-х сервисов единый список каналов, единая биллинговая система, единые настройки, единый бренд, но разные языки: в этом случае создание субоператора не потребуется, достаточно будет 1-го собранного пакета мультиязычных приложений (некоторые устройства поддерживают автоматический выбор языка приложения на основании системного языка)
- у 2-х сервисов единые настройки, единый биллинг, единый бренд, но разные списки каналов и фильмов: можно создать разные тарифные планы в рамках одного оператора и одного бренда приложений (тарифы могут показывать разный контент в зависимости от гео-расположения абонента)


- у 2-х сервисов единый список каналов, единые настройки, единый бренд, но разные биллинги/валюты: можно привязать абонентов каждого сервиса к своему биллингу в рамках одного оператора и одного бренда приложений, после чего реализовать гибкую интеграцию с обоими биллингами одновременно в рамках одной системы
- у 2-х сервисов единый бренд, но разные биллинги/валюты, списки каналов и настройки — требуется покупка лицензии субоператора и реализация схемы с мультипровайдерным приложением типа «Плюс ТВ»


- у 2-х сервисов разные бренды, биллинги/валюты, списки каналов и настройки — требуется покупка лицензии субоператора и сборка разных приложений под каждый бренд
Последние 2 сценария включают в себя создание субоператоров, ниже описаны нюансы работы Smarty в режиме мультипровайдера:
- лицензирование Smarty устанавливает отдельные лимиты аккаунтов на каждого созданного в Smarty субоператора, таким образом, стоимость подключения очередного субоператора в том числе зависит от предполагаемого размера его абонентской базы;
- для каждого субоператора можно настроить отдельные учётные записи для панели администрирования, в рамках которых будет доступно управление только одним субоператором;
- учетной записи с правами суперпользователя доступно управление всеми субоператорами одновременно;
- несмотря на относительную изолированность субоператоров с точки зрения контента, биллинга и настроек, общая Smarty всё-таки накладывает некоторые ограничения в виде общего конфигурационного файла, общих сущностей программ передач и их категорий, а также ещё ряда объектов, существующих в Django-админке;
- для случая, когда один субоператор должен унаследовать контент и настройки другого субоператора, существует специальная команда клонирования сущности Client (техническое название сущности субоператора):
smarty_manage clone_client --src_client_id=<source client id> --settings=settings.<settings filename>
Параметры:
--src_client_id
— ID объекта Client, который нужно клонировать в новый Client.
--settings filename
— имя файла настроек Smarty, в котором должны быть установлены параметры подключения к БД.
--clone-channels
— опция, при указании которой происходит копирование списка каналов из исходного Client в новый.
--clone-video
— опция, при указании которой происходит копирование списка фильмов и сериалов из исходного Client в новый.
--clone-radio
— опция, при указании которой происходит копирование списка радиостанций из исходного Client в новый.
--clone-cameras
— опция, при указании которой происходит копирование списка камер из исходного Client в новый.
--clone-apps
— опция, при указании которой происходит копирование списка приложений из исходного Client в новый.