PostAbonents.asn

PostAbonents DEFINITIONS IMPLICIT TAGS ::=

BEGIN

EXPORTS PostContractAbonent,

RequestedPostMailingAbonent,

ReportedPostMailingAbonent,

PassportInfoReport,

PersonNameInfo;

IMPORTS TAGGED,

sorm-post-abonent,

sorm-post-abonent-person,

sorm-post-abonent-organization,

sorm-post-abonent-mailig,

sorm-requested-post-abonent-person-mailing,

sorm-requested-post-abonent-organization-mailing,

sorm-reported-post-abonent-person-mailing,

sorm-reported-post-abonent-organization-mailing

FROM Classification

DateAndTime

FROM Sorm

ReportedAddress

FROM Addresses

TelcoID

FROM Dictionaries

;

PostContractAbonent ::= SEQUENCE {

id TAGGED.&id ({AbonentsContractData}),

data TAGGED.&Data({AbonentsContractData} {@id})

}

AbonentsContractData TAGGED ::= {

postContractAbonent

}

postContractAbonent TAGGED ::= {

OID sorm-post-abonent

DATA PostAbonentContractRecord

}

PostAbonentContractRecord ::= SEQUENCE {

telco-id TelcoID, --- идентификатор оператора

связи или филиала

abonent AbonentContractData, --- информация об

абоненте (клиенте оператора связи)

contract-data PostContract OPTIONAL --- информация о

заключенном договоре (в случае юридических лиц, предоставляется только для

принадлежности)

}

PostContract ::= SEQUENCE {

begin-date DateAndTime, --- дата и время заключения

договора

contract UTF8String (SIZE (1 .. 64)), --- номер договора

end-date [0] DateAndTime OPTIONAL, --- дата и время

расторжения договора

bank [1] UTF8String (SIZE (1 .. 256)) OPTIONAL, --- банк абонента

(используемый при расчетах с оператором связи)

bank-account [2] UTF8String (SIZE (1 .. 512)) OPTIONAL, - счет абонента

в банке (используемый при расчетах с оператором связи)

corr-account [3] UTF8String (SIZE (1 .. 512)) OPTIONAL, ---

корреспондентский счет

kpp [4] UTF8String (SIZE (9 .. 64)) OPTIONAL, --- КПП

bik [5] UTF8String (SIZE (9 .. 64)) OPTIONAL, --- БИК

contacts [6] SEQUENCE OF ContactInfo OPTIONAL, --- контактные

лица

addresses [7] SEQUENCE OF PostContractAddress OPTIONAL --- адреса по

договору

}

PostContractAddress ::= SEQUENCE {

address Reported Address, --- адрес, указанный в контракте

index-post PrintableString (SIZE (1 .. 10)) OPTIONAL --- почтовый индекс

адреса

}

--- контактная информация по договору

ContactInfo ::= SEQUENCE {

contact PersonNameInfo, --- ФИО

отправителя/контактное лицо

phone-list [0] SEQUENCE OF UTF8String (SIZE (1 .. 32)) OPTIONAL, ---

список контактных телефонов

email-list [1] SEQUENCE OF UTF8String (SIZE (1 .. 128)) OPTIONAL ---

список е-мейл адресов

}

AbonentContractData ::= SEQUENCE {

id TAGGED.&id ({AbonentsContractDataVariants}),

data TAGGED.&Data({AbonentsContractData Variants} {@id})

}

AbonentsContractDataVariants TAGGED ::= {

abonentContractPerson | --- информация об

абоненте - физическом лице

abonentContractOrganization ---

информация об абоненте - юридическом лице

}

--- Пользователь услуг почтовой связи - физическое лицо

abonentContractPerson TAGGED ::= {

OID {sorm-post-abonent-person }

DATA AbonentContractPerson

}

AbonentContractPerson ::= SEQUENCE {

name-info PersonNameInfo, --- ФИО

birth-date GeneralizedTime OPTIONAL, --- дата рождения

passport-info PassportInfoReport OPTIONAL, ---

паспортные данные

phone-fax UTF8String (SIZE (1 .. 128)) OPTIONAL --- контактные

телефоны, факс

}

PersonNameInfo ::= CHOICE {

struct-name[0] PersonStructNameInfoReport, ---

структурированное ФИО

unstruct-name[1] UTF8String(SIZE (1 .. 1024)) ---

неструктурированное ФИО

}

PersonStructNameInfoReport ::= SEQUENCE {

given-name UTF8String (SIZE (1 .. 128)), --- имя

initial UTF8String (SIZE (1 .. 128)), --- отчество (при

наличии)

family-name UTF8String (SIZE (1 .. 128)) --- фамилия

}

PassportInfoReport::= SEQUENCE {

ident-card-info IdentCardInfoReport, --- описание

удостоверения личности

doc-type-id INTEGER (0 .. 65535) OPTIONAL ---

идентификатор типа документа, удостоверяющего личность

}

IdentCardInfoReport ::= CHOICE {

struct-info [0] IdentCardStructInfoReport, ---

структурированная информация

unstruct-info [1] UTF8String (SIZE (1 .. 512)) ---

неструктурированная информация

}

IdentCardStructlnfoReport ::= SEQUENCE {

ident-card-serial UTF8String (SIZE (1 ..16)), --- серия

удостоверения личности

ident-card-number NumericString (SIZE (1 ..16)), --- номер

удостоверения личности

ident-card-description UTF8String (SIZE (1 .. 256)) --- когда и кем

выдано

}

abonentContractOrganization TAGGED ::= {

OID {sorm-post-abonent-organization }

DATA AbonentContractOrganization

}

AbonentContractOrganization ::= SEQUENCE {

full-name UTF8String (SIZE (1 .. 256)), --- полное

наименование

inn [0] NumericString (SIZE (10.. 12)) OPTIONAL, --- ИНН

ogrn [1] UTF8String (SIZE (1 .. 32)) OPTIONAL, --- ОГРН

okpo [2] UTF8String (SIZE (1 .. 32)) OPTIONAL, --- ОКПО

index-post [3] PrintableString (SIZE (1 .. 10)) OPTIONAL --- почтовый

индекс

}

--- поисковые критерии в информации об абоненте отправителе/получателе

почтового отправления

RequestedPostMailingAbonent ::= SEQUENCE {

id TAGGED.&id ({RequestedAbonentsMailingData}),

data TAGGED.&Data({RequestedAbonentsMailingData}{@id})

}

RequestedAbonentsMailingData TAGGED ::= {

requestedMailingPerson | --- информация об

абоненте - физическом лице

requestedMailingOrganization ---

информация об абоненте - юридическом лице

}

requestedMailingPerson TAGGED ::= {

OID {sorm-requested-post-abonent-person-maiiing }

DATA RequestedAbonentMailingPerson

}

requestedMailingOrganization TAGGED ::= {

OID { sorm-requested-post-abonent-organization-mailing}

DATA RequestedAbonentMailingOrganization

}

RequestedAbonentMailingPerson ::= SEQUENCE {

name-info [0] PersonNameInfo OPTIONAL, --- ФИО

birth-date [1] GeneralizedTime OPTIONAL, --- дата

рождения

passport-info [2] PassportInfoReport OPTIONAL, --- паспортные

данные

phone-fax [3] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---

контактные телефоны, факс

address [4] RequestedAddress OPTIONAL --- контактный

адрес

}

RequestedAbonentMailingOrganization ::= SEQUENCE {

full-name [0] UTF8String (SIZE (1 .. 256)) OPTIONAL, --- полное

наименование

contact [1] UTF8String (SIZE (1 .. 256)) OPTIONAL, --- ФИО

отправителя/контактное лицо

phone-fax [2] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---

контактные телефоны, факс

index-post [3] PrintableString (SIZE (1 .. 10)) OPTIONAL, --- почтовый

индекс

address [4] RequestedAddress OPTIONAL --- контактный

адрес

}

ReportedPostMailingAbonent ::= SEQUENCE {

personality-info ReportedPostMailingAbonentInfo,

phone-fax [0] UTF8String (SIZE (1 .. 128)) OPTIONAL, ---

контактные телефоны, факс

contract [1] UTF8String (SIZE (1 .. 64)) OPTIONAL, --- номер договора

contact-address [2] ReportedAddress OPTIONAL --- адрес

}

--- информация об абоненте отправителе/получателе почтового отправления

в записи блока отчета

ReportedPostMailingAbonentInfo ::= SEQUENCE {

id TAGGED.&id ({ReportedAbonentsMailingData}),

data TAGGED.&Data({ReportedAbonentsMailingData} {@id})

}

ReportedAbonentsMailingData TAGGED ::= {

reportedMailingPerson | --- информация об

абоненте - физическом лице

reportedMailingOrganization

информация об абоненте - юридическом лице

}

reportedMailingPerson TAGGED ::= {

OID {sorm-reported-post-abonent-person-mailing }

DATA ReportedAbonentMailingPerson

}

reportedMailingOrganization TAGGED ::= {

OID {sorm-reported-post-abonent-organization-mailing}

DATA ReportedAbonentMailingOrganization

}

ReportedAbonentMailingPerson ::= SEQUENCE {

name-info [0] PersonNameInfo OPTIONAL, --- ФИО

birth-date [1] GeneralizedTime OPTIONAL, --- дата

рождения

passport-info [2] PassportInfoReport OPTIONAL --- паспортные

данные

}

ReportedAbonentMailingOrganization ::= SEQUENCE {

full-name [0] UTF8String (SIZE (1 .. 256)) OPTIONAL, --- полное

наименование

contact [1] UTF8String (SIZE (1 .. 256)) OPTIONAL, --- ФИО

отправителя/контактное лицо

index-post [3] PrintableString (SIZE (1 .. 10)) OPTIONAL --- почтовый

индекс

}

END