# coding: utf-8


class OrganizationType(object):
    """Справочник типов образовательных организаций"""

    E01 = 1
    E11 = 11
    E12 = 12
    E13 = 13
    E14 = 14
    E15 = 15
    E16 = 16
    E17 = 17
    E18 = 18
    E19 = 19
    E02 = 2
    E21 = 21
    E22 = 22
    E23 = 23
    E24 = 24
    E25 = 25
    E26 = 26
    E27 = 27
    E28 = 28
    E03 = 3

    values = {
        E01: u"Организация, осуществляющая образовательную деятельность",
        E11: u"Дошкольная образовательная организация",
        E12: u"Общеобразовательная организация",
        E13: u"Профессиональная образовательная организация",
        E14: u"Образовательная организация высшего образования",
        E15: u"Организация дополнительного образования",
        E16: u"Организация дополнительного профессионального образования",
        E17: u"Организация, осуществляющая образовательную деятельность по адаптированной образовательной программе",
        E18: u"Общеобразовательная организация - специальное учебно-воспитательное учреждение для обучающихся с девиантным (общественно опасным) поведением",
        E19: u"Профессиональная образовательная организация - специальное учебно-воспитательное учреждение для обучающихся с девиантным (общественно опасным) поведением",
        E02: u"Организация, осуществляющая обучение",
        E21: u"Научная организация",
        E22: u"Организация для детей-сирот и детей, оставшихся без попечения родителей",
        E23: u"Организация, осуществляющая лечение, оздоровление и (или) отдых",
        E24: u"Организация, осуществляющая социальное обслуживание",
        E25: u"Дипломатическое представительство Российской Федерации",
        E26: u"Консульское учреждение Российской Федерации",
        E27: u"Представительство Российской Федерации при международных (межгосударственных, межправительственных) организациях",
        E28: u"Иные юридические лица",
        E03: u"Индивидуальный предприниматель, осуществляющий образовательную деятельность"}


class EducationProgram(object):
    """Справочник типов образовательных программ"""

    E001 = 1
    E011 = 11
    E012 = 12
    E013 = 13
    E014 = 14
    E015 = 15
    E002 = 2
    E021 = 21
    E211 = 211
    E212 = 212
    E023 = 23
    E003 = 3
    E031 = 31
    E032 = 32
    E033 = 33
    E004 = 4
    E041 = 41
    E411 = 411
    E412 = 412
    E042 = 42
    E421 = 421
    E422 = 422
    E005 = 5
    E051 = 51
    E052 = 52

    values = {
        E001: u"Основная общеобразовательная программа",
        E011: u"Образовательная программа дошкольного образования",
        E012: u"Образовательная программа начального общего образования",
        E013: u"Образовательная программа основного общего образования",
        E014: u"Образовательная программа среднего общего образования",
        E015: u"Адаптированная основная общеобразовательная программа",
        E002: u"Основная профессиональная образовательная программа",
        E021: u"Образовательная программа среднего профессионального образования",
        E211: u"Программа подготовки квалифицированных рабочих, служащих",
        E212: u"Программа подготовки специалистов среднего звена",
        E023: u"Образовательная программа, адаптированная для обучения лиц с ограниченными возможностями здоровья",
        E003: u"Основная программа профессионального обучения",
        E031: u"Программа профессиональной подготовки по профессиям рабочих, должностям служащих",
        E032: u"Программа переподготовки рабочих, служащих",
        E033: u"Программа повышения квалификации рабочих, служащих",
        E004: u"Дополнительная образовательная программа",
        E041: u"Дополнительная общеобразовательная программа",
        E411: u"Дополнительная общеразвивающая программа",
        E412: u"Дополнительная предпрофессиональная программа",
        E042: u"Дополнительная профессиональная программа",
        E421: u"Программа повышения квалификации",
        E422: u"Программа профессиональной переподготовки",
        E005: u"Адаптированная образовательная программа",
        E051: u"Адаптированная основная общеобразовательная программа",
        E052: u"Образовательная программа, адаптированная для обучения лиц с ограниченными возможностями здоровья"}


class StudiesForm(object):
    """Справочник форм получения образования"""

    E01 = 1
    E11 = 11
    E12 = 12
    E13 = 13
    E02 = 2
    E21 = 21
    E22 = 22

    values = {
        E01: u"В организации, осуществляющей образовательную деятельность",
        E11: u"Очно",
        E12: u"Очно-заочно",
        E13: u"Заочно",
        E02: u"Вне организации, осуществляющей образовательную деятельность",
        E21: u"Семейное образование",
        E22: u"Самообразование"}


class StudiesFormImplementation(object):
    """Справочник форм реализации образовательных программ"""

    E1 = 1
    E2 = 2
    E3 = 3
    E4 = 4

    values = {
        E1: u"Сетевая форма",
        E2: u"С применением электронного обучения",
        E3: u"С применением дистанционных образовательных технологий",
        E4: u'Надомная форма получения образования'
    }


class OrganizationKindByFounder(object):
    """Справочник видов организаций по учредителям"""

    E01 = 1
    E02 = 2
    E03 = 3
    E04 = 4
    E05 = 5
    E06 = 6
    E07 = 7
    E08 = 8
    E09 = 9
    E10 = 10
    E11 = 11

    values = {
        E01: u"Российская Федерация",
        E02: u"Субъект Российской Федерации",
        E03: u"Муниципальное образование",
        E04: u"Российские коммерческие организации",
        E05: u"Иностранные коммерческие организации",
        E06: u"Российские некоммерческие организации",
        E07: u"Иностранные некоммерческие организации",
        E08: u"Российские религиозные организации",
        E09: u"Иностранные религиозные организации",
        E10: u"Граждане Российской Федерации",
        E11: u"Иностранные граждане"}


class OwnershipType(object):
    """Справочник форм собственности"""

    E10 = 10
    E11 = 11
    E12 = 12
    E13 = 13
    E14 = 14
    E15 = 15
    E16 = 16
    E17 = 17
    E18 = 18
    E19 = 19
    E20 = 20
    E21 = 21
    E22 = 22
    E23 = 23
    E24 = 24
    E27 = 27
    E30 = 30
    E31 = 31
    E32 = 32
    E33 = 33
    E34 = 34
    E35 = 35
    E40 = 40
    E41 = 41
    E42 = 42
    E43 = 43
    E49 = 49
    E50 = 50
    E51 = 51
    E52 = 52
    E53 = 53
    E54 = 54
    E61 = 61

    values = {
        E10: u"Российская собственность",
        E11: u"Государственная собственность",
        E12: u"Федеральная собственность",
        E13: u"Собственность субъектов Российской Федерации",
        E14: u"Муниципальная собственность",
        E15: u"Собственность общественных и религиозных организаций (объединений)",
        E16: u"Частная собственность",
        E17: u"Смешанная российская собственность",
        E18: u"Собственность российских граждан, постоянно проживающих за границей",
        E19: u"Собственность потребительской кооперации",
        E20: u"Иностранная собственность",
        E21: u"Собственность международных организаций",
        E22: u"Собственность иностранных государств",
        E23: u"Собственность иностранных юридических лиц",
        E24: u"Собственность иностранных граждан и лиц без гражданства",
        E27: u"Смешанная иностранная собственность",
        E30: u"Совместная российская и иностранная собственность",
        E31: u"Совместная федеральная и иностранная собственность",
        E32: u"Совместная собственность    субъектов   Российской Федерации и иностранная собственность",
        E33: u"Совместная муниципальная и иностранная собственность",
        E34: u"Совместная частная и иностранная собственность",
        E35: u"Совместная собственность общественных и религиозных организаций (объединений) и  иностранная собственность",
        E40: u"Смешанная российская собственность с долей государственной собственности",
        E41: u"Смешанная российская собственность с долей федеральной собственности",
        E42: u"Смешанная российская собственность с долей собственности субъектов Российской Федерации",
        E43: u"Смешанная российская собственность с долями федеральной собственности и собственности субъектов Российской Федерации",
        E49: u"Иная смешанная российская собственность",
        E50: u"Собственность благотворительных организаций",
        E51: u"Собственность политических общественных объединений",
        E52: u"Собственность профессиональных союзов",
        E53: u"Собственность общественных объединений",
        E54: u"Собственность религиозных объединений",
        E61: u"Собственность государственных корпораций"}


class OrganizationalAndLegalForm(object):
    """Справочник организационно-правовых форм"""

    E1_00_00 = '1 00 00'
    E1_10_00 = '1 10 00'
    E1_10_51 = '1 10 51'
    E1_10_64 = '1 10 64'
    E1_20_00 = '1 20 00'
    E1_22_00 = '1 22 00'
    E1_22_47 = '1 22 47'
    E1_22_67 = '1 22 67'
    E1_23_00 = '1 23 00'
    E1_30_00 = '1 30 00'
    E1_40_00 = '1 40 00'
    E1_41_00 = '1 41 00'
    E1_41_53 = '1 41 53'
    E1_41_54 = '1 41 54'
    E1_41_55 = '1 41 55'
    E1_42_00 = '1 42 00'
    E1_53_00 = '1 53 00'
    E1_90_00 = '1 90 00'
    E2_00_00 = '2 00 00'
    E2_01_00 = '2 01 00'
    E2_01_01 = '2 01 01'
    E2_01_02 = '2 01 02'
    E2_01_03 = '2 01 03'
    E2_01_04 = '2 01 04'
    E2_01_05 = '2 01 05'
    E2_01_06 = '2 01 06'
    E2_01_07 = '2 01 07'
    E2_01_08 = '2 01 08'
    E2_01_09 = '2 01 09'
    E2_01_10 = '2 01 10'
    E2_01_11 = '2 01 11'
    E2_01_12 = '2 01 12'
    E2_01_13 = '2 01 13'
    E2_01_14 = '2 01 14'
    E2_01_15 = '2 01 15'
    E2_01_20 = '2 01 20'
    E2_01_21 = '2 01 21'
    E2_02_00 = '2 02 00'
    E2_02_01 = '2 02 01'
    E2_02_02 = '2 02 02'
    E2_02_10 = '2 02 10'
    E2_02_11 = '2 02 11'
    E2_02_17 = '2 02 17'
    E2_06_00 = '2 06 00'
    E2_06_01 = '2 06 01'
    E2_06_03 = '2 06 03'
    E2_06_04 = '2 06 04'
    E2_06_05 = '2 06 05'
    E2_06_06 = '2 06 06'
    E2_06_07 = '2 06 07'
    E2_06_08 = '2 06 08'
    E2_06_09 = '2 06 09'
    E2_06_10 = '2 06 10'
    E2_06_11 = '2 06 11'
    E2_06_12 = '2 06 12'
    E2_06_13 = '2 06 13'
    E2_06_14 = '2 06 14'
    E2_06_15 = '2 06 15'
    E2_06_16 = '2 06 16'
    E2_06_17 = '2 06 17'
    E2_06_18 = '2 06 18'
    E2_06_19 = '2 06 19'
    E2_06_20 = '2 06 20'
    E2_07_00 = '2 07 00'
    E2_07_01 = '2 07 01'
    E2_07_16 = '2 07 16'
    E2_11_00 = '2 11 00'
    E2_12_00 = '2 12 00'
    E3_00_00 = '3 00 00'
    E3_00_01 = '3 00 01'
    E3_00_02 = '3 00 02'
    E3_00_03 = '3 00 03'
    E3_00_04 = '3 00 04'
    E3_00_05 = '3 00 05'
    E3_00_06 = '3 00 06'
    E3_00_08 = '3 00 08'
    E4_00_00 = '4 00 00'
    E4_00_01 = '4 00 01'
    E4_00_02 = '4 00 02'
    E5_00_00 = '5 00 00'
    E5_01_00 = '5 01 00'
    E5_01_01 = '5 01 01'
    E5_01_02 = '5 01 02'
    E5_02_00 = '5 02 00'
    E5_02_01 = '5 02 01'
    E5_02_02 = '5 02 02'
    E6_00_00 = '6 00 00'
    E6_50_00 = '6 50 00'
    E6_51_00 = '6 51 00'
    E6_51_41 = '6 51 41'
    E6_51_42 = '6 51 42'
    E6_51_43 = '6 51 43'
    E6_52_00 = '6 52 00'
    E6_52_41 = '6 52 41'
    E6_52_42 = '6 52 42'
    E6_52_43 = '6 52 43'
    E7_00_00 = '7 00 00'
    E7_04_00 = '7 04 00'
    E7_04_01 = '7 04 01'
    E7_04_02 = '7 04 02'
    E7_04_03 = '7 04 03'
    E7_04_04 = '7 04 04'
    E7_14_00 = '7 14 00'
    E7_15_00 = '7 15 00'
    E7_16_00 = '7 16 00'
    E7_16_01 = '7 16 01'
    E7_16_02 = '7 16 02'
    E7_16_10 = '7 16 10'
    E7_50_00 = '7 50 00'
    E7_51_00 = '7 51 00'
    E7_51_01 = '7 51 01'
    E7_51_03 = '7 51 03'
    E7_51_04 = '7 51 04'
    E7_52_00 = '7 52 00'
    E7_52_01 = '7 52 01'
    E7_52_03 = '7 52 03'
    E7_52_04 = '7 52 04'
    E7_53_00 = '7 53 00'
    E7_54_00 = '7 54 00'
    E7_54_01 = '7 54 01'
    E7_54_03 = '7 54 03'
    E7_54_04 = '7 54 04'
    E7_55_00 = '7 55 00'
    E7_55_02 = '7 55 02'
    E7_55_05 = '7 55 05'

    values = {
        E1_00_00: u"ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ ЮРИДИЧЕСКИХ ЛИЦ, ЯВЛЯЮЩИХСЯ КОММЕРЧЕСКИМИ КОРПОРАТИВНЫМИ ОРГАНИЗАЦИЯМИ",
        E1_10_00: u"Хозяйственные товарищества",
        E1_10_51: u"Полные товарищества",
        E1_10_64: u"Товарищества на вере (коммандитные товарищества)",
        E1_20_00: u"Хозяйственные общества",
        E1_22_00: u"Акционерные общества",
        E1_22_47: u"Публичные акционерные общества",
        E1_22_67: u"Непубличные акционерные общества",
        E1_23_00: u"Общества с ограниченной ответственностью",
        E1_30_00: u"Хозяйственные партнерства",
        E1_40_00: u"Производственные кооперативы (артели)",
        E1_41_00: u"Сельскохозяйственные производственные кооперативы",
        E1_41_53: u"Сельскохозяйственные артели (колхозы)",
        E1_41_54: u"Рыболовецкие артели (колхозы)",
        E1_41_55: u"Кооперативные хозяйства (коопхозы)",
        E1_42_00: u"Производственные кооперативы (кроме сельскохозяйственных производственных кооперативов)",
        E1_53_00: u"Крестьянские (фермерские) хозяйства",
        E1_90_00: u"Прочие юридические лица, являющиеся коммерческими организациями",
        E2_00_00: u"ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ ЮРИДИЧЕСКИХ ЛИЦ, ЯВЛЯЮЩИХСЯ НЕКОММЕРЧЕСКИМИ КОРПОРАТИВНЫМИ ОРГАНИЗАЦИЯМИ",
        E2_01_00: u"Потребительские кооперативы",
        E2_01_01: u"Гаражные и гаражно-строительные кооперативы",
        E2_01_02: u"Жилищные или жилищно-строительные кооперативы",
        E2_01_03: u"Жилищные накопительные кооперативы",
        E2_01_04: u"Кредитные потребительские кооперативы",
        E2_01_05: u"Кредитные потребительские кооперативы граждан",
        E2_01_06: u"Кредитные кооперативы второго уровня",
        E2_01_07: u"Потребительские общества",
        E2_01_08: u"Общества взаимного страхования",
        E2_01_09: u"Сельскохозяйственные потребительские перерабатывающие кооперативы",
        E2_01_10: u"Сельскохозяйственные потребительские сбытовые (торговые) кооперативы",
        E2_01_11: u"Сельскохозяйственные потребительские обслуживающие кооперативы",
        E2_01_12: u"Сельскохозяйственные потребительские снабженческие кооперативы",
        E2_01_13: u"Сельскохозяйственные потребительские садоводческие кооперативы",
        E2_01_14: u"Сельскохозяйственные потребительские огороднические кооперативы",
        E2_01_15: u"Сельскохозяйственные потребительские животноводческие кооперативы",
        E2_01_20: u"Садоводческие, огороднические или дачные потребительские кооперативы",
        E2_01_21: u"Фонды проката",
        E2_02_00: u"Общественные организации",
        E2_02_01: u"Политические партии",
        E2_02_02: u"Профсоюзные организации",
        E2_02_10: u"Общественные движения",
        E2_02_11: u"Органы общественной самодеятельности",
        E2_02_17: u"Территориальные общественные самоуправления",
        E2_06_00: u"Ассоциации (союзы)",
        E2_06_01: u"Ассоциации (союзы) экономического взаимодействия субъектов Российской Федерации",
        E2_06_03: u"Советы муниципальных образований субъектов Российской Федерации",
        E2_06_04: u"Союзы (ассоциации) кредитных кооперативов",
        E2_06_05: u"Союзы (ассоциации) кооперативов",
        E2_06_06: u"Союзы (ассоциации) общественных объединений",
        E2_06_07: u"Союзы (ассоциации) общин малочисленных народов",
        E2_06_08: u"Союзы потребительских обществ",
        E2_06_09: u"Адвокатские палаты",
        E2_06_10: u"Нотариальные палаты",
        E2_06_11: u"Торгово-промышленные палаты",
        E2_06_12: u"Объединения работодателей",
        E2_06_13: u"Объединения фермерских хозяйств",
        E2_06_14: u"Некоммерческие партнерства",
        E2_06_15: u"Адвокатские бюро",
        E2_06_16: u"Коллегии адвокатов",
        E2_06_17: u"Садоводческие, огороднические или дачные некоммерческие партнерства",
        E2_06_18: u"Ассоциации (союзы) садоводческих, огороднических и дачных некоммерческих объединений",
        E2_06_19: u"Саморегулируемые организации",
        E2_06_20: u"Объединения (ассоциации и союзы) благотворительных организаций",
        E2_07_00: u"Товарищества собственников недвижимости",
        E2_07_01: u"Садоводческие, огороднические или дачные некоммерческие товарищества",
        E2_07_16: u"Товарищества собственников жилья",
        E2_11_00: u"Казачьи общества, внесенные в государственный реестр казачьих обществ в Российской Федерации",
        E2_12_00: u"Общины коренных малочисленных народов Российской Федерации",
        E3_00_00: u"ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ ОРГАНИЗАЦИЙ, СОЗДАННЫХ БЕЗ ПРАВ ЮРИДИЧЕСКОГО ЛИЦА",
        E3_00_01: u"Представительства юридических лиц",
        E3_00_02: u"Филиалы юридических лиц",
        E3_00_03: u"Обособленные подразделения юридических лиц",
        E3_00_04: u"Структурные подразделения обособленных подразделений юридических лиц",
        E3_00_05: u"Паевые инвестиционные фонды",
        E3_00_06: u"Простые товарищества",
        E3_00_08: u"Районные суды, городские суды, межрайонные суды (районные суды)",
        E4_00_00: u"ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ МЕЖДУНАРОДНЫХ ОРГАНИЗАЦИЙ, ОСУЩЕСТВЛЯЮЩИХ ДЕЯТЕЛЬНОСТЬ НА ТЕРРИТОРИИ РОССИЙСКОЙ ФЕДЕРАЦИИ",
        E4_00_01: u"Межправительственные международные организации",
        E4_00_02: u"Неправительственные международные организации",
        E5_00_00: u"ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ ДЛЯ ДЕЯТЕЛЬНОСТИ ГРАЖДАН (ФИЗИЧЕСКИХ ЛИЦ)",
        E5_01_00: u"Организационно-правовые формы для коммерческой деятельности граждан",
        E5_01_01: u"Главы крестьянских (фермерских) хозяйств",
        E5_01_02: u"Индивидуальные предприниматели",
        E5_02_00: u"Организационно-правовые формы для деятельности граждан, не отнесенной к предпринимательству",
        E5_02_01: u"Адвокаты, учредившие адвокатский кабинет",
        E5_02_02: u"Нотариусы, занимающиеся частной практикой",
        E6_00_00: u"ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ ЮРИДИЧЕСКИХ ЛИЦ, ЯВЛЯЮЩИХСЯ КОММЕРЧЕСКИМИ УНИТАРНЫМИ ОРГАНИЗАЦИЯМИ",
        E6_50_00: u"Унитарные предприятия",
        E6_51_00: u"Унитарные предприятия, основанные на праве оперативного управления (казенные предприятия)",
        E6_51_41: u"Федеральные казенные предприятия",
        E6_51_42: u"Казенные предприятия субъектов Российской Федерации",
        E6_51_43: u"Муниципальные казенные предприятия",
        E6_52_00: u"Унитарные предприятия, основанные на праве хозяйственного ведения",
        E6_52_41: u"Федеральные государственные унитарные предприятия",
        E6_52_42: u"Государственные унитарные предприятия субъектов Российской Федерации",
        E6_52_43: u"Муниципальные унитарные предприятия",
        E7_00_00: u"ОРГАНИЗАЦИОННО-ПРАВОВЫЕ ФОРМЫ ЮРИДИЧЕСКИХ ЛИЦ, ЯВЛЯЮЩИХСЯ НЕКОММЕРЧЕСКИМИ УНИТАРНЫМИ ОРГАНИЗАЦИЯМИ",
        E7_04_00: u"Фонды",
        E7_04_01: u"Благотворительные фонды",
        E7_04_02: u"Негосударственные пенсионные фонды",
        E7_04_03: u"Общественные фонды",
        E7_04_04: u"Экологические фонды",
        E7_14_00: u"Автономные некоммерческие организации",
        E7_15_00: u"Религиозные организации",
        E7_16_00: u"Публично-правовые компании",
        E7_16_01: u"Государственные корпорации",
        E7_16_02: u"Государственные компании",
        E7_16_10: u"Отделения иностранных некоммерческих неправительственных организаций",
        E7_50_00: u"Учреждения",
        E7_51_00: u"Учреждения, созданные Российской Федерацией",
        E7_51_01: u"Федеральные государственные автономные учреждения",
        E7_51_03: u"Федеральные государственные бюджетные учреждения",
        E7_51_04: u"Федеральные государственные казенные учреждения",
        E7_52_00: u"Учреждения, созданные субъектами Российской Федерации",
        E7_52_01: u"Государственные автономные учреждения субъектов Российской Федерации",
        E7_52_03: u"Государственные бюджетные учреждения субъектов Российской Федерации",
        E7_52_04: u"Государственные казенные учреждения субъектов Российской Федерации",
        E7_53_00: u"Государственные академии наук",
        E7_54_00: u"Учреждения, созданные муниципальными образованиями",
        E7_54_01: u"Муниципальные автономные учреждения",
        E7_54_03: u"Муниципальные бюджетные учреждения",
        E7_54_04: u"Муниципальные казенные учреждения",
        E7_55_00: u"Частные учреждения",
        E7_55_02: u"Благотворительные учреждения",
        E7_55_05: u"Общественные учреждения"}

    web_edu_values = {
        E7_51_01: 100,
        E7_51_03: 200,
        E7_51_04: 300,
        E7_54_01: 400,
        E7_54_03: 500,
        E7_54_04: 600,
        E7_54_00: 700,
        E7_55_00: 800,
    }


class EconomicActivityKind(object):
    """Справочник отраслевой принадлежности"""

    E85 = '85'
    E85_1 = '85.1'
    E85_11 = '85.11'
    E85_12 = '85.12'
    E85_13 = '85.13'
    E85_14 = '85.14'
    E85_2 = '85.2'
    E85_21 = '85.21'
    E85_22 = '85.22'
    E85_22_1 = '85.22.1'
    E85_22_2 = '85.22.2'
    E85_22_3 = '85.22.3'
    E85_23 = '85.23'
    E85_3 = '85.3'
    E85_30 = '85.30'
    E85_4 = '85.4'
    E85_41 = '85.41'
    E85_41_1 = '85.41.1'
    E85_41_2 = '85.41.2'
    E85_41_9 = '85.41.9'
    E85_42 = '85.42'
    E85_42_1 = '85.42.1'
    E85_42_2 = '85.42.2'
    E85_42_9 = '85.42.9'

    values = {
        E85: u"Образование",
        E85_1: u"Образование общее",
        E85_11: u"Образование дошкольное",
        E85_12: u"Образование начальное общее",
        E85_13: u"Образование основное общее",
        E85_14: u"Образование среднее общее",
        E85_2: u"Образование профессиональное",
        E85_21: u"Образование профессиональное среднее",
        E85_22: u"Образование высшее",
        E85_22_1: u"Образование высшее - бакалавриат",
        E85_22_2: u"Образование высшее - специалитет",
        E85_22_3: u"Образование высшее - магистратура",
        E85_23: u"Подготовка кадров высшей квалификации",
        E85_3: u"Обучение профессиональное",
        E85_30: u"Обучение профессиональное",
        E85_4: u"Образование дополнительное",
        E85_41: u"Образование дополнительное детей и взрослых",
        E85_41_1: u"Образование в области спорта и отдыха",
        E85_41_2: u"Образование в области культуры",
        E85_41_9: u"Образование дополнительное детей и взрослых прочее, не включенное в другие группировки",
        E85_42: u"Образование профессиональное дополнительное",
        E85_42_1: u"Деятельность школ подготовки водителей автотранспортных средств",
        E85_42_2: u"Деятельность школ обучения вождению воздушных и плавательных судов, без выдачи коммерческих сертификатов и лицензий",
        E85_42_9: u"Деятельность по дополнительному профессиональному образованию прочая, не включенная в другие группировки"}


class GroupOperation(object):
    """Справочник режимов работы групп (ДОО)"""

    E11 = 11
    E12 = 12
    E13 = 13
    E14 = 14
    E15 = 15

    values = {
        E11: u"Кратковременного пребывания (до 5 часов в день)",
        E12: u"Сокращенного дня (8-10-часового пребывания)",
        E13: u"Полного дня (10,5-12-часового пребывания)",
        E14: u"Продленного дня (13-14-часового пребывания)",
        E15: u"Круглосуточного пребывания детей"}


class Shift(object):
    """Справочник видов смен"""

    E1 = 1
    E2 = 2
    E3 = 3
    E4 = 4
    E5 = 5

    values = {
        E1: u"Первая смена",
        E2: u"Вторая смена",
        E3: u"Третья смена",
        E4: u"Нет сменности",
        E5: u"Все смены"}


class DelegateType(object):
    """Справочник типов законных представителей детей"""

    E1 = 1
    E2 = 2
    E3 = 3
    E4 = 4
    E5 = 5
    E6 = 6

    KTE_MOTHER = 1
    KTE_FATHER = 2
    KTE_CURATOR = 3
    KTE_TRUSTEE = 4
    KTE_AGENCY_OF_TRUSTEE = 6
    KTE_ADOPTIVE_PARENT = 7
    KTE_EDUCATION_AGENCY_LEADER = 8

    values = {
        E1: u"Родитель",
        E2: u"Опекун",
        E3: u"Попечитель",
        E4: u"Орган опеки и попечительства",
        E5: u"Приемный родитель",
        E6: u"Руководитель воспитательного, лечебного и иного учреждения, в котором ребенок находится на полном государственном обеспечении"}


class EducationalPeriod(object):
    """Справочник учебных периодов"""

    E01 = 1
    E02 = 2
    E03 = 3
    E04 = 4
    E05 = 5
    E06 = 6
    E07 = 7
    E08 = 8
    E09 = 9
    E10 = 10
    E11 = 11
    E12 = 12
    E13 = 13
    E14 = 14
    E15 = 15
    E16 = 16
    E17 = 17
    E18 = 18
    E19 = 19
    E20 = 20
    E99 = 99

    values = {
        E01: u"I четверть",
        E02: u"II четверть",
        E03: u"III четверть",
        E04: u"IV четверть",
        E05: u"I триместр",
        E06: u"II триместр",
        E07: u"III триместр",
        E08: u"I полугодие ",
        E09: u"II полугодие",
        E10: u"I модуль",
        E11: u"II модуль",
        E12: u"III модуль",
        E13: u"IV модуль",
        E14: u"V модуль",
        E15: u"VI модуль",
        E16: u"VII модуль",
        E17: u"VIII модуль",
        E18: u"I семестр",
        E19: u"II семестр",
        E20: u"Год",
        E99: u"Другое (не определено)"}


class OrganizationStatus(object):
    """Справочник статусов образовательных организаций"""

    E1 = 1
    E2 = 2
    E3 = 3
    E4 = 4
    E5 = 5
    E6 = 6
    E7 = 7
    E8 = 8
    E9 = 9

    values = {
        E1: u"Функционирует",
        E2: u"Капитальный ремонт",
        E3: u"Реконструкция",
        E4: u"Деятельность приостановлена",
        E5: u"Контингент отсутствует",
        E6: u"Ожидает открытия",
        E7: u"Ликвидирована",
        E8: u"Закрыта",
        E9: u"Присоединена к другой организации"}


class IdentificationDocument(object):
    """Справочник видов документов, удостоверяющих личность"""

    E01 = 1
    E11 = 11
    E12 = 12
    E13 = 13
    E14 = 14
    E15 = 15
    E16 = 16
    E17 = 17
    E02 = 2
    E21 = 21
    E22 = 22
    E23 = 23
    E24 = 24
    E25 = 25
    E26 = 26
    E27 = 27
    E28 = 28
    E29 = 29
    E30 = 30
    E31 = 31
    E04 = 4

    values = {
        E01: u"Документы, удостоверяющие личность гражданина РФ",
        E11: u"Свидетельство о рождении",
        E12: u"Паспорт гражданина РФ",
        E13: u"Загранпаспорт гражданина РФ",
        E14: u"Удостоверение личности военнослужащего РФ",
        E15: u"Военный билет",
        E16: u"Временное удостоверение, выданное взамен военного билета",
        E17: u"Временное удостоверение личности гражданина РФ ",
        E02: u"Для иностранных граждан и лиц без гражданства",
        E21: u"Паспорт иностранного гражданина",
        E22: u"Удостоверение личности лица без гражданства в РФ",
        E23: u"Удостоверение личности отдельных категорий лиц, находящихся на территории РФ, подавших заявление о признании гражданами РФ или о приеме в гражданство РФ",
        E24: u"Удостоверение личности лица, признанного беженцем",
        E25: u"Удостоверение личности лица, ходатайствующего о признании беженцем на территории РФ",
        E26: u"Удостоверение личности лица, получившего временное убежище на территории РФ",
        E27: u"Вид на жительство в Российской Федерации",
        E28: u"Разрешение на временное проживание в Российской Федерации",
        E29: u"Свидетельство о рассмотрении ходатайства о признании лица беженцем на территории Российской Федерации по существу",
        E30: u"Свидетельство о предоставлении временного убежища на территории Российской Федерации",
        E31: u"Свидетельство о рождении, выданное уполномоченным органом иностранного государства",
        E04: u"Другой документ, удостоверяющий личность"}


class EducationDocument(object):
    """Справочник документов об образовании"""

    E01 = 1
    E11 = 11
    E12 = 12
    E02 = 2
    E21 = 21
    E03 = 3
    E31 = 31
    E32 = 32
    E33 = 33
    E04 = 4
    E41 = 41
    E42 = 42
    E05 = 5

    values = {
        E01: u"Документы об образовании",
        E11: u"Аттестат о среднем общем образовании",
        E12: u"Аттестат об основном общем образовании",
        E02: u"Документ об образовании и о квалификации",
        E21: u"Диплом о среднем профессиональном образовании",
        E03: u"Документ о квалификации",
        E31: u"Удостоверение о повышении квалификации",
        E32: u"Диплом о профессиональной переподготовке",
        E33: u"Свидетельство о профессии рабочего, должности служащего",
        E04: u"Справка об обучении",
        E41: u"Свидетельство об обучении для лиц с ограниченными возможностями здоровья (с различными формами умственной отсталости)",
        E42: u"Свидетельство об освоении предпрофессиональные программы в области искусств",
        E05: u"Другой документ об образовании"}


class MedicalHealthGroup(object):
    """Справочник видов медицинских групп здоровья"""

    E01 = 1
    E11 = 11
    E12 = 12
    E13 = 13
    E14 = 14
    E15 = 15
    E02 = 2
    E21 = 21
    E22 = 22
    E23 = 23

    values = {
        E01: u"Группы здоровья",
        E11: u"Группа 1 - здоровые",
        E12: u"Группа 2 - с незначительными отклонениями",
        E13: u"Группа 3 - с хроническими заболеваниями и хорошим самочувствием, либо с временными отклонениями в состоянии здоровья",
        E14: u"Группа 4 - с хроническими заболеваниями и плохим самочувствием",
        E15: u"Группа 5 - с хроническими заболеваниями и наблюдаются в специальных лечебницах",
        E02: u"Физкультурная группа",
        E21: u"Основная",
        E22: u"Подготовительная",
        E23: u"Специальная"}


class Disability(object):
    """Справочник видов и категорий инвалидности"""

    E01 = 1
    E11 = 11
    E12 = 12
    E13 = 13
    E14 = 14
    E02 = 2
    E21 = 21
    E22 = 22

    values = {
        E01: u"Инвалидность",
        E11: u"Первая группа",
        E12: u"Вторая группа",
        E13: u"Третья группа",
        E14: u"Ребенок-инвалид (для лиц до 18 лет)",
        E02: u"Категория инвалидности",
        E21: u"Инвалид с детства",
        E22: u"Инвалид вследствие военной травмы или заболевания, полученного в период прохождения военной службы"}


class EducationPlace(object):
    """Справочник видов обучения для детей, нуждающихся в длительном лечении"""

    E1 = 1
    E2 = 2
    E3 = 3

    values = {
        E1: u"Обучение на дому",
        E2: u"Обучение в медицинской организации",
        E3: u"Обучение в организации, осуществляющей лечение, оздоровление и (или) отдых"}


class FinancingType(object):
    """Справочник типов финансирования"""

    E1 = 1
    E2 = 2
    E3 = 3

    values = {
        E1: u"Бюджетное",
        E2: u"Контрактное",
        E3: u"Целевое"}


class EducationLevel(object):
    """Справочник уровней образования"""

    E1 = 1
    E2 = 2
    E3 = 3
    E4 = 4
    E5 = 5

    values = {
        E1: u"Дошкольное образование",
        E2: u"Начальное общее образование",
        E3: u"Основное общее образование",
        E4: u"Среднее общее образование",
        E5: u"Среднее профессиональное образование"}


class EducationService(object):
    """Справочник образовательных услуг по реализации образовательных программ"""

    E01 = 1
    E02 = 2
    E03 = 3
    E04 = 4
    E05 = 5
    E06 = 6
    E13 = 13
    E14 = 14
    E15 = 15
    E16 = 16
    E17 = 17
    E18 = 18
    E19 = 19

    values = {
        E01: u"Реализация основной общеобразовательной программы дошкольного образования",
        E02: u"Реализация основной общеобразовательной программы начального общего образования",
        E03: u"Реализация основной общеобразовательной программы основного общего образования",
        E04: u"Реализация основной общеобразовательной программы среднего общего образования",
        E05: u"Реализация основной профессиональной образовательной программы среднего профессионального образования - программы подготовки квалифицированных рабочих, служащих",
        E06: u"Реализация основной профессиональной образовательной программы среднего профессионального образования - программы подготовки специалистов среднего звена*",
        E13: u"Реализация основной программы профессионального обучения - программы профессиональной подготовки по профессиям рабочих, должностям служащих",
        E14: u"Реализация основной программы профессионального обучения - программы переподготовки рабочих, служащих",
        E15: u"Реализация основной программы профессионального обучения - программы повышения квалификации рабочих, служащих",
        E16: u"Реализация дополнительных общеобразовательных программ - дополнительных общеразвивающих программ",
        E17: u"Реализация дополнительных общеобразовательных программ - дополнительных предпрофессиональных программ",
        E18: u"Реализация дополнительных профессиональных программ повышения квалификации",
        E19: u"Реализация дополнительных профессиональных программ профессиональной переподготовки"}


class EducationProgramType(object):
    """Справочник типов образовательных программ, лежащих в основе рабочих программ"""

    E1 = 1
    E2 = 2
    E3 = 3

    values = {
        E1: u"Примерная",
        E2: u"Адаптированная",
        E3: u"Авторская"}


class DifficultLifeSituation(object):
    """Справочник категорий детей, находящихся в трудной жизненной ситуации"""

    E001 = 1
    E101 = 101
    E102 = 102
    E103 = 103
    E104 = 104
    E105 = 105
    E106 = 106
    E002 = 2
    E003 = 3
    E004 = 4
    E005 = 5
    E006 = 6
    E007 = 7
    E008 = 8
    E009 = 9
    E010 = 10
    E011 = 11
    E012 = 12
    E013 = 13

    values = {
        E001: u"Дети, оставшиеся без попечения родителей",
        E101: u"Смерть родителей",
        E102: u"Лишение родителей родительских прав",
        E103: u"Ограничение родителей в родительских правах",
        E104: u"Признание родителей недееспособными",
        E105: u"Болезнь родителей",
        E106: u"Длительное отсутствие родителей",
        E002: u"Дети-инвалиды",
        E003: u"Дети с ограниченными возможностями здоровья",
        E004: u"Дети - жертвы вооруженных и межнациональных конфликтов, экологических и техногенных катастроф, стихийных бедствий",
        E005: u"Дети - жертвы экологических и техногенных катастроф, стихийных бедствий",
        E006: u"Дети из семей беженцев и вынужденных переселенцев",
        E007: u"Дети, оказавшиеся в экстремальных условиях",
        E008: u"Дети - жертвы насилия",
        E009: u"Дети, отбывающие наказание в виде лишения свободы в воспитательных колониях",
        E010: u"Дети, с девиантным (общественно опасным) поведением",
        E011: u"Дети, проживающие в малоимущих семьях",
        E012: u"Дети с отклонениями в поведении",
        E013: u"Дети, жизнедеятельность которых объективно нарушена в результате сложившихся обстоятельств"}


class Gender(object):
    """Пол"""

    MALE = 1
    FEMALE = 2

    values = {
        MALE: u'Мужской',
        FEMALE: u'Женский'}


class HealthGroup(object):
    """Группа здоровья"""

    FIRST = 11
    SECOND = 12
    THIRD = 13
    FOURTH = 14
    FIFTH = 15

    values = {
        FIRST: u"Первая группа здоровья",
        SECOND: u"Вторая группа здоровья",
        THIRD: u"Третья группа здоровья",
        FOURTH: u"Четвертая группа здоровья",
        FIFTH: u"Пятая группа здоровья"}


class DeductionReason(object):
    E0 = 0
    E1 = 1
    E2 = 2
    E3 = 3

    values = {
        E0: u"Перевод",
        E1: u"По состоянию здоровья",
        E2: u"Смерть",
        E3: u"Отчисление"}


class Citizenship(object):
    E0 = 0
    E1 = 1
    E2 = 2

    values = {
        E0: u"Гражданин РФ",
        E1: u"Гражданин иностранного государства",
        E2: u"Лицо без гражданства"}


class Course(object):
    E0 = 0
    E1 = 1
    E2 = 2
    E3 = 3
    E4 = 4
    E5 = 5

    values = {
        E0: u"1",
        E1: u"2",
        E2: u"3",
        E3: u"4",
        E4: u"5",
        E5: u"6"}


class EducationProgramAdaptation(object):
    E1 = 1
    E201 = 201
    E202 = 202
    E203 = 203
    E204 = 204
    E205 = 205
    E206 = 206
    E207 = 207
    E208 = 208
    E209 = 209
    E210 = 210
    E211 = 211

    values = {
        E1: u"Не адаптирована",
        E201: u"Адаптирована для слабовидящих обучающихся ",
        E202: u"Адаптирована для слепых обучающихся",
        E203: u"Адаптирована для слабослышащих",
        E204: u"Адаптирована для глухих ",
        E205: u"Адаптирована для слабослышащих обучающихся, имеющих сложную структуру дефекта (нарушение слуха и задержка психического развития)",
        E206: u"Адаптирована для обучающихся, имеющих нарушения опорно-двигательного аппарата",
        E207: u"Адаптирована для обучающихся, имеющих тяжелые нарушения речи",
        E208: u"Адаптирована для обучающихся с задержкой психического развития",
        E209: u"Адаптирована для обучающихся с умственной отсталостью",
        E210: u"Адаптирована для обучающихся с умственной отсталостью, имеющих сложную структуру дефекта",
        E211: u"Адаптирована для обучающихся с иными ограничениями здоровья"}


class BranchEnumerate(object):
    u"""Юридическое лицо или филиал."""

    IS_NOT_BRANCH = False
    IS_BRANCH = True

    values = {
        IS_NOT_BRANCH: u'Юридическое лицо',
        IS_BRANCH: u'Филиал',
    }


class ExamType(object):
    u"""Типы экзаменов."""

    OGE = u'ОГЭ'
    GVE = u'ГВЭ'
    EGE = u'ЕГЭ'


class TrueFalseEnumerate(object):
    u"""Словарь для маппинга знчений True/False в Да/Нет."""

    YES = True
    NO = False

    values = {
        YES: u'Да',
        NO: u'Нет',
    }


class OrgTypes(object):
    u"""Типы учреждений
    со значениями для преобразования в значения КТЕ."""

    # Министрерство образования
    MINISTRY_OF_EDUCATION = 1
    # Управление образования
    BOARD_OF_EDUCATION = 2
    # НПО
    PRIMARY_VOCATIONAL_EDUCATION = 3
    # СПО
    SECONDARY_VOCATIONAL_EDUCATION = 4
    # Департамент образования
    DEPARTMENT_OF_EDUCATION = 5

    values = {
        1: 101,
        2: 201,
        3: 301,
        4: 401,
        5: 501,
    }


class OrgKinds(object):
    u"""Вид организации по учредителю
    со значениями для преобразования в значения КТЕ."""

    RF = 1
    RF_SUBJECT = 2
    MO = 3
    RF_COMMERCIAL_ORGANIZATION = 4
    EXTERNAL_COMMERCIAL_ORGANIZATION = 5
    RF_NON_COMMERCIAL_ORGANIZATION = 6
    EXTERNAL_NON_COMMERCIAL_ORGANIZATION = 7
    RF_RELIGION_ORGANIZATION = 8
    EXTERNAL_RELIGION_ORGANIZATION = 9
    RF_CITIZENSHIP = 10
    EXTERNAL_CITIZENSHIP = 11

    values = {
        RF: 10001,
        RF_SUBJECT: 20001,
        MO: 30001,
        RF_COMMERCIAL_ORGANIZATION: 40001,
        EXTERNAL_COMMERCIAL_ORGANIZATION: 50001,
        RF_NON_COMMERCIAL_ORGANIZATION: 60001,
        EXTERNAL_NON_COMMERCIAL_ORGANIZATION: 70001,
        RF_RELIGION_ORGANIZATION: 80001,
        EXTERNAL_RELIGION_ORGANIZATION: 88800,
        RF_CITIZENSHIP: 88888,
        EXTERNAL_CITIZENSHIP: 99999,
    }


class DepartmentGroup(object):
    u"""Режим обучения группы
    со значениями для преобразования в значения КТЕ."""

    # Значения в КТЕ
    FULL_TIME = 31  # Очная
    PART_TIME = 32  # Очно-заочная
    DISTANCE = 33  # Заочная

    values = {
        1: FULL_TIME,
        2: DISTANCE,
        3: PART_TIME,
    }


class MarkSystem(object):
    u"""Система оценивания."""

    FIVE_POINT = 1  # 5-балльная
    HUNDRED_POINT = 6  # 100-бальная


class ArrangementLevels(object):
    u"""Уровни мероприятия со значениями для преобразования в значения КТЕ."""

    # Значения принимаемые КТЕ
    SCHOOL = 100  # ОО
    DISTRICT = 200  # Округ
    CITY = 300  # Город
    REGION = 400  # Регион
    FEDERAL = 500  # РФ
    INTERNATIONAL = 600  # Международный

    # Наши значения в ЭК
    SSUZ_SCHOOL = 1  # Учреждения
    SSUZ_DISTRICT = 2  # Районный
    SSUZ_CITY = 3  # Городской
    SSUZ_REGION = 4  # Региональный
    SSUZ_ZONE = 5  # Зональный
    SSUZ_FEDERAL = 6  # Федеральный
    SSUZ_INTERNATIONAL = 7  # Международный

    # Значения в ЭШ
    WEB_EDU_CITY = 1
    WEB_EDU_REGION = 2
    WEB_EDU_DISTRICT = 3
    WEB_EDU_SCHOOL = 4
    WEB_EDU_FEDERAL = 5
    WEB_EDU_AREA = 6
    WEB_EDU_INTERNATIONAL = 7

    # Словарь для преобразования значения из ЭШ в значение КТЕ
    web_edu_values = {
        WEB_EDU_CITY: CITY,
        WEB_EDU_REGION: REGION,
        WEB_EDU_DISTRICT: DISTRICT,
        WEB_EDU_SCHOOL: SCHOOL,
        WEB_EDU_FEDERAL: FEDERAL,
        WEB_EDU_AREA: REGION,
        WEB_EDU_INTERNATIONAL: INTERNATIONAL,
    }

    # Словарь для преобразования значения из ЭК, в значение КТЕ
    ssuz_values = {
        SSUZ_SCHOOL: SCHOOL,  # Учреждения
        SSUZ_DISTRICT: DISTRICT,  # Районный
        SSUZ_CITY: CITY,  # Городской
        SSUZ_REGION: REGION,  # Региональный
        SSUZ_ZONE: REGION,  # Зональный
        SSUZ_FEDERAL: FEDERAL,  # Федеральный
        SSUZ_INTERNATIONAL: INTERNATIONAL,  # Международный
    }


class UnitSubType(object):
    u"""Типы учреждений со значениями для преобразования в значения КТЕ."""

    PROF_SCHOOL = 30001  # Профессиональное училище
    PROF_LYCEUM = 30001  # Профессиональный лицей
    TRAINING = 30003  # Учебно-курсовой комбинат
    COLLEGE = 30004  # Колледж
    TECHNICAL_COLLEGE = 30005  # Техникум
    SPEC_COLLEGE = 30006  # Специальное профессионально-техническое училище
    OTHER = 99999  # Другое

    values = {
        1: OTHER,
        2: OTHER,
        3: PROF_SCHOOL,
        4: PROF_LYCEUM,
        5: TECHNICAL_COLLEGE,
        6: OTHER,
        7: COLLEGE,
    }


class FinalMarkType(object):
    u"""Типы итоговых оценок."""

    # Наши индексы в ЭК
    ANNUAL = 0  # Годовая
    FINAL = 1  # Итоговая

    # Индексы этих же значений в УФТТ
    UFTT_ANNUAL = 1  # Годовая
    UFTT_FINAL = 2  # Итоговая

    values = {
        ANNUAL: u"Годовая",
        FINAL: u"Итоговая"
    }


class UnitUFTTStatus(object):
    u"""Статусы образовательных организаций (УФТТ)."""

    # Наши значения в ЭК.
    FUNCTIONALITY = 1  # Функционирует
    REPAIR = 2  # Капитальный ремонт
    RECONSTRUCTION = 3  # Реконструкция
    SUSPENDED = 4  # Деятельность приостановлена
    NO_CONTINGENT = 5  # Контингент отсутствует
    EXPECTS_OPENING = 6  # Ожидает открытия
    LIQUIDATED = 7  # Ликвидировано
    CLOSED = 8  # Закрыто
    UNITED = 9  # Присоединена к другой организации

    values = {
        FUNCTIONALITY: u'Функционирует',
        REPAIR: u'Капитальный ремонт',
        RECONSTRUCTION: u'Реконструкция',
        SUSPENDED: u'Деятельность приостановлена',
        NO_CONTINGENT: u'Контингент отсутствует',
        EXPECTS_OPENING: u'Ожидает открытия',
        LIQUIDATED: u'Ликвидировано',
        CLOSED: u'Закрыто',
        UNITED: u'Присоединена к другой организации'
    }

    @staticmethod
    def uftt(code):
        u"""Возврщает код УФТТ, соотвествующий нашему коду.
        Прибавляем 200, так как именно на столько отличаются коды в УФТТ."""
        return code + 200 if code else None


class DeclarationStatus(object):
    u"""Статусы заявлений со значениями для преобразования в значения КТЕ."""

    # Значения принимаемые КТЕ
    ARCHIVE = 0  # Архивное
    CANCELLED = 100  # Отклонено
    QUEUE = 101  # В очереди
    ADMITTED = 102  # Зачислено
    SENT = 103  # Направлено
    CONSIDERATION = 104  # На рассмотрении
    WITHDRAW = 105  # Отозвано

    # Значения в ЭК
    SSUZ_REGISTER = 4  # Зарегистрировано
    SSUZ_REJECTED = 9  # Отказано
    SSUZ_DONE = 10  # Зачислен
    SSUZ_CONFIRM_DOCS = 12  # Подтверждение документов
    SSUZ_ARCHIVE = 14  # Архивное
    SSUZ_NO_PLACE = 15  # Нет мест
    SSUZ_TO_EXAM = 42  # Направлен на экзамены
    SSUZ_WITHDRAW = 43  # Отозвано

    # Словарь для преобразования значения из ЭК, в значение КТЕ
    ssuz_values = {
        SSUZ_DONE: ADMITTED,
        SSUZ_REJECTED: CANCELLED,
        SSUZ_ARCHIVE: ARCHIVE,
        SSUZ_NO_PLACE: QUEUE,
        SSUZ_REGISTER: QUEUE,
        SSUZ_CONFIRM_DOCS: QUEUE,
        SSUZ_TO_EXAM: QUEUE,
        SSUZ_WITHDRAW: WITHDRAW,
    }


class ArrangementType(object):
    u"""Типы мероприятия со значениями для преобразования в значения КТЕ."""

    # Значения принимаемые КТЕ
    OLYMPIAD = 100  # Олимпиада
    CONTEST = 200  # Конкурс
    EXHIBITION = 300  # Выставка
    SPORT = 400  # Спортивное соревнование
    INSPECTION = 500  # Смотр
    TRAINEESHIP = 600  # Стажировка
    PUBLICATION = 700  # Публикация
    OTHER = 800  # Иное

    # Наши значения в ЭК
    SSUZ_CONFERENCE = 1  # Конференция
    SSUZ_CONTEST = 2  # Конкурс
    SSUZ_OLYMPIAD = 3  # Олимпиада
    SSUZ_TOURNAMENT = 4  # Турнир
    SSUZ_CHAMPIONSHIP = 5  # Чемпионат
    SSUZ_MASTER_CLASS = 6  # Мастер-класс
    SSUZ_FESTIVAL = 7  # Фестиваль
    SSUZ_COMPETITION = 8  # Соревнование
    SSUZ_SEMINAR = 10  # Семинар
    SSUZ_OTHER = 9  # Другое

    # Словарь для преобразования значения из ЭК, в значение КТЕ
    ssuz_values = {
        SSUZ_CONFERENCE: OTHER,
        SSUZ_CONTEST: CONTEST,
        SSUZ_OLYMPIAD: OLYMPIAD,
        SSUZ_TOURNAMENT: OTHER,
        SSUZ_CHAMPIONSHIP: OTHER,
        SSUZ_MASTER_CLASS: OTHER,
        SSUZ_FESTIVAL: OTHER,
        SSUZ_COMPETITION: SPORT,
        SSUZ_SEMINAR: OTHER,
        SSUZ_OTHER: OTHER,
    }

    web_edu_values = {
        u'Всероссийская олимпиада (русский язык)': OLYMPIAD,
        u'Всероссийская олимпиада (татарский язык и татарская литература)': OLYMPIAD,
        u'Всероссийская олимпиада (английский язык)': OLYMPIAD,
        u'Всероссийская олимпиада (немецкий язык)': OLYMPIAD,
        u'Всероссийская олимпиада (французский язык)': OLYMPIAD,
        u'Всероссийская олимпиада (математика)': OLYMPIAD,
        u'Всероссийская олимпиада (физика)': OLYMPIAD,
        u'Всероссийская олимпиада (биология)': OLYMPIAD,
        u'Всероссийская олимпиада (информатика и ИКТ)': OLYMPIAD,
        u'Всероссийская олимпиада (физическая культура)': OLYMPIAD,
        u'Всероссийская олимпиада (химия)': OLYMPIAD,
        u'Всероссийская олимпиада (ОБЖ)': OLYMPIAD,
        u'Всероссийская олимпиада (история)': OLYMPIAD,
        u'Всероссийская олимпиада (обществознание)': OLYMPIAD,
        u'Всероссийская олимпиада (технология)': OLYMPIAD,
        u'Всероссийская олимпиада (экология)': OLYMPIAD,
        u'Всероссийская олимпиада (астрономия)': OLYMPIAD,
        u'Всероссийская олимпиада (право)': OLYMPIAD,
        u'Всероссийская олимпиада (экономика)': OLYMPIAD,
        u'Всероссийская олимпиада (литература)': OLYMPIAD,
        u'Всероссийская олимпиада (география)': OLYMPIAD,
        u'Всероссийская олимпиада (искусство)': OLYMPIAD,
        u'Всероссийская олимпиада (мировая художественная культура)': OLYMPIAD,
        u'олимпиада': OLYMPIAD,
        u'конференция': OTHER,
        u'конкурс': CONTEST,
        u'викторина': OTHER,
        u'соревнования': SPORT,
        u'фестиваль': OTHER,
    }


class AgentType(object):
    u"""Справочник типов законных представителей."""

    TYPE_EMPTY = 0
    TYPE_MOTHER = 1
    TYPE_FATHER = 2
    TYPE_TRUSTEE = 3
    TYPE_REPRESENT = 4
    TYPE_STEPFATHER = 5
    TYPE_STEPMOTHER = 6
    TYPE_GRANDFATHER = 7
    TYPE_GRANDMOTHER = 8
    TYPE_BROTHER = 9
    TYPE_SISTER = 10
    TYPE_OTHER = 11


class EventKinds(object):
    u"""Справочник типов мероприятий."""

    # Значения по КТЕ
    OLYMPIAD = 100
    CONTEST = 200
    EXHIBITION = 300
    SPORT = 400
    INSPECTION = 500
    TRAINEESHIP = 600
    PUBLICATION = 700
    OTHER = 800

    values = {
        u'Всероссийская олимпиада (русский язык)': OLYMPIAD,
        u'Всероссийская олимпиада (татарский язык и татарская литература)': OLYMPIAD,
        u'Всероссийская олимпиада (английский язык)': OLYMPIAD,
        u'Всероссийская олимпиада (немецкий язык)': OLYMPIAD,
        u'Всероссийская олимпиада (французский язык)': OLYMPIAD,
        u'Всероссийская олимпиада (математика)': OLYMPIAD,
        u'Всероссийская олимпиада (физика)': OLYMPIAD,
        u'Всероссийская олимпиада (биология)': OLYMPIAD,
        u'Всероссийская олимпиада (информатика и ИКТ)': OLYMPIAD,
        u'Всероссийская олимпиада (физическая культура)': OLYMPIAD,
        u'Всероссийская олимпиада (химия)': OLYMPIAD,
        u'Всероссийская олимпиада (ОБЖ)': OLYMPIAD,
        u'Всероссийская олимпиада (история)': OLYMPIAD,
        u'Всероссийская олимпиада (обществознание)': OLYMPIAD,
        u'Всероссийская олимпиада (технология)': OLYMPIAD,
        u'Всероссийская олимпиада (экология)': OLYMPIAD,
        u'Всероссийская олимпиада (астрономия)': OLYMPIAD,
        u'Всероссийская олимпиада (право)': OLYMPIAD,
        u'Всероссийская олимпиада (экономика)': OLYMPIAD,
        u'Всероссийская олимпиада (литература)': OLYMPIAD,
        u'Всероссийская олимпиада (география)': OLYMPIAD,
        u'Всероссийская олимпиада (искусство)': OLYMPIAD,
        u'Всероссийская олимпиада (мировая художественная культура)': OLYMPIAD,
        u'олимпиада': OLYMPIAD,
        u'конференция': OTHER,
        u'конкурс': CONTEST,
        u'викторина': OTHER,
        u'соревнования': SPORT,
        u'фестиваль': OTHER,
    }


class DeclarationSourceType(object):
    u"""Источники подачи заявления
    для преобразования значений в допустимые КТЕ."""

    SUBMISSION_METHOD_PORTAL = u'С портала'
    SUBMISSION_METHOD_MANUAL = u'Лично'

    KTE_SUBMISSION_METHOD_PORTAL = 2
    KTE_SUBMISSION_METHOD_MANUAL = 4

    values = {
        SUBMISSION_METHOD_PORTAL: KTE_SUBMISSION_METHOD_PORTAL,
        SUBMISSION_METHOD_MANUAL: KTE_SUBMISSION_METHOD_MANUAL
    }
