Версия формата миграции: 2.4.1

Миграция из других АСР делается через промежуточный набор таблиц в формате CSV.

Пример:

"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-файлы загружаются в , где происходит сопоставление справочников и выполняется собственно миграция данных.

Упрощения и допущения

  1. Юр. лица и физ. лица находятся в одной таблице и отличаются только по специальному признаку.
  2. Из реквизитов юр. лица выгружается только его название, остальное требует ручного ввода (таблицу при необходимости можно дополнить полями с реквизитами).
  3. Текущий объём потреблённых услуг (трафик, минуты) никак не мигрирует, но дата окончания текущего периода мигрирует.
  4. Подробности тарифов (периодичность, пороги, единицы измерения, стоимость и т.д.) не мигрируют, а переносятся вручную и затем сопоставляются.

Выгрузка из старой АСР

Звёздочкой для наглядности помечены идентификаторы, являющиеся внешними ключами. Первичный ключ в каждой таблице всегда называется 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

Название единицы измерения

Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником единиц измерения в Гидре.

Справочник типов оборудования

Таблица EQUIP_TYPE

ID

ID типа

NAME

Название оборудования

Например: Dlink 3526
Примечание: значения данного справочника не мигрируют, а сопоставляются с позициями номенклатуры, как правило из раздела Активное оборудование.

Справочник групп

Таблица GROUPS

ID

ID группы

NAME

Название группы

Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником групп. Если в вашей системе нет групп, то имеет смысл всё равно добавить значения в этот справочник и привязать всех абонентов к группам в зависимости от их категории, например, Физические лица, Юридические лица, Сотрудники и т.п.

Справочник банков

Таблица BANKS

ID

ID банка

NAME

Название банка

Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником банков. Соответственно банки, которые встречаются в выгрузке нужно ввести в Гидру вручную.

Справочник типов счетов

Таблица ACCT_TYPES

ID

ID типа счета

NAME

Тип счета

Примечание: значения данного справочника не мигрируют, а сопоставляются со справочником типов счетов

Справочник услуг и тарифных планов

Таблица SERVICES

ID

ID услуги (тарифного плана)

NAME

Наименование услуги (ТП)

TYPE

Признак тарифного плана (если Y, то ТП; если N, то услуга)

UNIT_ID

ID единицы измерения*

Примечание: в этот справочник выгружаются все тарифные планы, и услуги. Значения данного справочника не мигрируют, а сопоставляются с Номенклатурой.

Справочник лицевых счетов

Таблица ACCOUNTS

ID

ID лицевого счёта

USER_ID

ID абонента*

ACCT_NUM

Номер счёта

ACCT_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 подписки

ACCT_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

Домашний адрес. Формат адреса абонента:
<Город>,<Улица>,<Дом>,<Подъезд>,<Этаж>,<Квартира>,<Код домофона>
Если каких-то данных нет, то оставляйте пустые запятые, например, Самара г, Пролетарская ул,5,,,078

PASSPORT

Номер паспорта

INN

ИНН

OPF

Организационно-правовая форма, например ИП, ООО

W_PHONE

Рабочий телефон в формате E.164

H_PHONE

Контактный домашний телефон в формате E.164

M_PHONE

Контактный мобильный телефон в формате E.164

EMAIL

Контактный email

FIRM_ID

ID филиала*

Примечание: список атрибутов для личных данных абонента может быть расширен по необходимости.

Платежи

Таблица PAYMENTS

ID

ID операции

ACCT_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 операции

ACCT_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_CITY

Название населенного пункта

VC_CITY_TYPE

Тип населенного пункта (г, пгт и прочие)

VC_STREET

Название улицы

VC_STREET_TYPE

Тип улицы (ул, пр, пер, бульв. и прочие)

VC_HOUSE

Номер дома

VC_BUILDING

Корпус

VC_ENTRANCE_NO

Подъезд

VC_FLOOR

Этаж

VC_FLAT

Квартира

VC_DIS_CODE

Код домофона

Также, парсингу подвергаются другие данные из 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

Гражданство