Версия формата миграции: 2.5.4
Миграция из других АСР делается через промежуточный набор таблиц в формате CSV.
- Кодировка UTF-8,
- Разделитель полей — точка с запятой
- Значения полей обрамляются кавычками (в том числе пустые значения представляются пустыми кавчками (;"";)
- В первой строке указываются названия полей таблицы
- Первичные ключи (поля ID) и внешние ключи (поля *_ID) должны быть числовыми
Пример:
"ID";"STATUS_ID";"LOGIN";"JUR";"NAME";"ADDR";"PASSPORT";"W_PHONE";"H_PHONE";"M_PHONE";"EMAIL"
"12";"1";"example";"0";"Шварценгольд Виктор Робертович";"Москва г, Большой Сергиевский пер.,8,1,2,53,";"";"";"9101234567";"9031234567";""
Далее с помощью специального инструмента CSV-файлы загружаются в АСР «Гидра» , где происходит сопоставление справочников и выполняется собственно миграция данных.
Упрощения и допущения
- Юр. лица и физ. лица находятся в одной таблице и отличаются только по специальному признаку.
- Из реквизитов юр. лица выгружается только его название, остальное требует ручного ввода (таблицу при необходимости можно дополнить полями с реквизитами).
- Текущий объём потреблённых услуг (трафик, минуты) никак не мигрирует, но дата окончания текущего периода мигрирует.
- Подробности тарифов (периодичность, пороги, единицы измерения, стоимость и т.д.) не мигрируют, а переносятся вручную и затем сопоставляются.
Выгрузка из старой АСР
Звёздочкой для наглядности помечены идентификаторы, являющиеся внешними ключами. Первичный ключ в каждой таблице всегда называется ID. Если необходимо, то к каждой таблице можно добавить поле для комментария (с названием REM), в которое будут выгружаться полезные текстовые данные.
Для полей с типом «Дата и время» используется следующий формат: 26.04.2009 13:04:55 (Oracle: DD.MM.YYYY HH24:MI:SS). Для полей только с датой или только с временем нужно использовать 26.04.2009 и 13:04:55 соответственно.
Справочник состояний абонента
Таблица STATUS
Поле | Описание |
---|---|
ID | ID состояния |
NAME | Наименование состояния |
В простейшем случае в справочнике всего два состояния (включен, отключен).
Примечание: значения данного справочника не мигрируют, а служат для сопоставления значений в приложении «Миграция» в мигрируемой системе с состояниями абонентов в Гидре.
Справочник сетевых служб
Таблица NS_LIST
ID | ID сетевой службы |
NAME | Название сетевой службы |
Примечание: этот справочник формируется вручную и состоит из перечня сетевых служб, для доступа к которым абоненту нужен логин и пароль: RADIUS, личный кабинет, телефония, почта и т.п. Значения данного справочника не мигрируют, а сопоставляются.
Справочник единиц измерения
Таблица UNITS_LIST
ID | ID единицы измерения |
NAME | Название единицы измерения |
Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником единиц измерения в Гидре.
Справочник валют
Таблица CURRENCY
ID | ID валюты |
NAME | Наименование валюты |
Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником единиц измерения в Гидре.
Справочник типов оборудования
Таблица EQUIP_TYPE
ID | ID типа |
NAME | Название оборудования |
Например: Dlink 3526
Примечание: значения данного справочника не мигрируют, а сопоставляются с позициями номенклатуры, как правило из раздела Активное оборудование.
Справочник групп
Таблица GROUPS
ID | ID группы |
NAME | Название группы |
Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником групп. Если в вашей системе нет групп, то имеет смысл всё равно добавить значения в этот справочник и привязать всех абонентов к группам в зависимости от их категории, например, Физические лица, Юридические лица, Сотрудники и т.п.
Справочник банков
Таблица BANKS
ID | ID банка |
NAME | Название банка |
Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником банков. Соответственно банки, которые встречаются в выгрузке нужно ввести в Гидру вручную.
Справочник типов счетов
Таблица ACC_TYPES
ID | ID типа счета |
NAME | Тип счета |
Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником типов счетов
Справочник типов удостоверений личности
Таблица AUTH_DOC_TYPES
ID | ID типа документа |
NAME | Тип документа |
Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником типов документов - удостоверений личности
Справочник услуг и тарифных планов
Таблица SERVICES
ID | ID услуги (тарифного плана) |
NAME | Наименование услуги (ТП) |
TYPE | Признак тарифного плана (если Y, то ТП; если N, то услуга) |
UNIT_ID | ID единицы измерения* |
Примечание: в этот справочник выгружаются все тарифные планы, и услуги. Значения данного справочника не мигрируют, а сопоставляются с Номенклатурой.
Справочник лицевых счетов
Таблица ACCOUNTS
ID | ID лицевого счёта |
USER_ID | ID абонента* |
ACC_NUM | Номер счёта |
ACC_TYPE_ID | ID типа счета* |
CUR_ID | ID валюты* (если в системе только российский рубль, можно не указывать) |
BANK_ID | ID банка (для лицевых счетов - оставлять пустым) |
BALANCE | Баланс счёта |
CREDIT | Текущий кредит абонента |
CREDIT_END_DATE | Дата окончания кредитного лимита |
BALANCE_DATE | Дата, на которую рассчитан баланс, как правило дата выгрузки |
Привязки абонента к сетевым службам
Таблица NETSERV
ID | ID привязки |
USER_ID | ID абонента* |
NS_ID | ID сетевой службы* |
EQUIP_ID | ID абонентского оборудования* |
LOGIN | Логин |
PASSWORD | Пароль |
PASS_TYPE | Тип шифрования пароля (md5 итд). Оставлять пустым для plaintext |
Примечание: в эту таблицу выгружаются логины и пароли на VPN, на личный кабинет, SIP-аккаунт и на другие ресурсы, которые контролирует биллинг. При этом в целях безопасности пароли при тестовых выгрузках нужно заменять на звёздочки или случайные строки. Настоящие пароли будут выгружаться всего один раз, при окончательной миграции.
Участие абонентов в группах
Таблица GROUPLINK
ID | ID записи об участии |
USER_ID | ID абонента* |
GROUP_ID | ID группы* |
MAIN | Признак основной группы - 'Y' (Только при привязке абонента к нескольким группам. Иначе - оставлять пустым) |
Примечание: если в системе, откуда производится выгрузка, нет понятия групп, то желательно хотя бы разделить всех выгружаемых абонентов на три группы: юридические лица, физические лица и сотрудники. То есть добавьте эти три группы в таблицу GROUPS и укажите к ним привязку (определите кому какую группу добавлять по своим критериям во время выгрузки).
Подписка абонентов на услуги
Таблица SUBSCR
ID | ID подписки |
ACC_ID | ID лицевого счёта* |
CONTRACT_ID | ID договора* |
TARIFF_ID | ID услуги (тарифного плана)* |
EQUIP_ID | ID абонентского оборудования* |
D_BEGIN | Дата начала подписки, когда абонент выбрал новый тарифный план/услугу для смены |
D_END | Дата окончания подписки, оставлять пусто, если это последний выбранный тариф |
QUANT | Заказанное количество, умноженное на 100. Для тарифных планов - оставлять пустым. |
PAY_DAY | Расчетный день (оставлять пустым для плавающего расчетного дня) |
Примечание: выгружаются услуги и тарифный план на следующий период. Если у вас фиксированный расчётный день, привязанный к 1 числу месяца, то выгружайте PAY_DAY = 1 (обычно для юридических лиц).
Операторское оборудование
Таблица OP_EQUIP
ID | ID оборудования |
EQUIP_TYPE_ID | ID типа оборудования* |
GROUP_ID | ID группы* |
CODE | Код оборудования |
IP | IP-адрес для управления |
LOGIN | Логин для управления |
PASSWORD | Пароль |
FIRM_ID | ID филиала* |
Примечание: ID группы можно использовать для привязки оборудования к определённому региону или филиалу. Список атрибутов для оборудования может быть расширен по необходимости (адрес, количество портов и т. д.).
Оконечное оборудование абонентов
Таблица EQUIP
ID | ID оборудования |
USER_ID | ID абонента* |
EQUIP_TYPE_ID | ID типа абонентского оборудования. При пустом значении используется |
OP_EQUIP_ID | ID операторского оборудования* |
OP_EQUIP_PORT | Порт операторского оборудования |
CODE | Код оборудования |
MAC | Физический адрес (MAC) |
IP | IP-адрес |
MASK | Маска IP-адреса |
PHONE | Абонентский телефонный номер в формате E.164 |
ADDR | Адрес обслуживания |
Примечание: поля OP_EQUIP_ID и OP_EQUIP_PORT необходимы для указания привязки абонентского оборудования к операторскому.
Справочник абонентских договоров
Таблица CONTRACTS
ID | ID договора |
USER_ID | ID абонента |
NUM | Номер договора |
D_DOC | Дата заключения договора |
D_BEGIN | Дата начала действия договора |
D_END | Дата окончания действия договора |
Справочник абонентов
Таблица USERS
ID | ID абонента |
STATUS_ID | ID состояния абонента* |
LOGIN | Код абонента |
JUR | Физическое или юридическое лицо (0 — физ. лицо, 1 — юр. лицо) |
NAME | ФИО (физ. лица) / Наименование (юр. лица) |
ADDR | Домашний адрес. Формат адреса абонента: |
AUTH_DOC_TYPE_ID | Тип документа - удостоверения личности * |
AUTH_DOC_SERIAL | Серия документа |
AUTH_DOC_NO | Номер документа |
AUTH_DOC_DATE | Дата выдачи документа |
AUTH_DOC_ISSUE | Кем/где выдан |
INN | ИНН |
OPF | Организационно-правовая форма, например ИП, ООО |
W_PHONE | Рабочий телефон в формате E.164 |
H_PHONE | Контактный домашний телефон в формате E.164 |
M_PHONE | Контактный мобильный телефон в формате E.164 |
Контактный email | |
FIRM_ID | ID филиала* |
Примечание: список атрибутов для личных данных абонента может быть расширен по необходимости.
Платежи
Таблица PAYMENTS
ID | ID операции |
ACC_ID | ID лицевого счёта* |
BANK_ID | ID банка* |
D_OPER | Дата и время операции |
PAYMENT_SUM | Сумма платежа, умноженная на 100 (целое число) |
PAYMENT_TYPE_ID | Тип платежа* (необязательное поле) |
Типы платежей
Таблица PAYMENT_TYPE
ID | ID типа платежа |
NAME | Наименование типа платежа |
VIRTUAL | Флаг. 'Y' если корректировка |
Примечание: справочник служит для разделения платежей по разным видам (исправление ошибки, наличные, безналичные банк, ОСМП, Visa, Webmoney и тп), тип используется для удобства построения отчётов.
Списания
Таблица WRITEOFFS
ID | ID операции |
ACC_ID | ID лицевого счёта* |
CONTRACT_ID | ID договора* |
D_OPER | Дата и время операции |
TARIFF_ID | ID услуги (тарифного плана)* |
EQUIP_ID | ID абонентского оборудования |
SUM | Сумма списания, умноженная на 100 |
D_BEGIN | Дата и время начала периода списания |
D_END | Дата и время окончания периода списания |
USED | Количество, умноженное на 100. (В единицах измерения UNIT_ID из SERVICES) |
Многофилиальная структура
При наличии многофилиальной структуры используется справочник филиалов, на который ссылаются поля FIRM_ID в таблицах USERS и OP_EQUIP
Таблица FIRMS
ID | ID филиала |
NAME | Наименование филиала |
Сопоставляется с организационной структурой предприятия.
Дополнительные таблицы
В процессе миграции некоторые поля разбираются, и данные из них записываются в дополнительные таблицы.
В частности, адрес из USERS.ADDR подвергается парсингу и записывается в таблицу PARSED_USER_ADDRESSES. Таким образом, если в биллинге, из которого выгружаются данные, информация об адресе хранится в разобранном виде, то нет нужды писать его в одну строку — можно сразу заполнить таблицу.
Таблица PARSED_USER_ADDRESSES
USER_ID | Соответствующий ID из таблицы USERS* |
VC_ORIGINAL | Строка с адресом из USERS.ADDR. При ручном заполнении необязательно. |
VC_DISTRICT | Район |
VC_CITY | Название населенного пункта |
VC_CITY_TYPE | Тип населенного пункта (г, пгт и прочие) |
VC_STREET | Название улицы |
VC_STREET_TYPE | Тип улицы (ул, пр, пер, бульв. и прочие) |
VC_HOUSE | Номер дома |
VC_BUILDING | Корпус |
VC_CONSTRUCT | Строение |
VC_OWNERSHIP | Владение |
VC_ENTRANCE_NO | Подъезд |
VC_FLOOR | Этаж |
VC_FLAT | Квартира |
VC_DIS_CODE | Код домофона |
VC_REM | Комментарий |
Также, парсингу подвергаются другие данные из USERS и записываются в PARSED_USER_INFO. Таким образом, если в биллинге, из которого выгружаются данные, эта информация хранится в разобранном виде, то можно сразу заполнить таблицу.
Таблица PARSED_USER_INFO
USER_ID | Соответствующий ID из таблицы USERS* |
NAME | Имя |
SURNAME | Фамилия |
SECOND NAME | Отчество |
SEX | Пол (M - male, F - female) |
AUTH_DOC_TYPE | Тип документа, удостоверяющего личность |
DOC_NO | Серия |
DOC_SERIES | Номер |
DOC_GIVEN | Кем выдан |
DOC_ADD_CODE | Дополнительный код |
REG_ADDRESS | Адрес регистрации |
CITIZENSHIP | Гражданство |