"""Конфиг оплат Марса — ЕДИНЫЙ источник: даты выплат + ставки.

Правь ЗДЕСЬ — код (планирование ЗП, тайминг выплат в плановых операциях) читает отсюда.
Со слов Наташи, 2026-07-19. Что помечено TODO/None — уточнить и заполнить.
"""

# ==================== ДАТЫ ВЫПЛАТ ====================
# ОБЩЕЕ ПРАВИЛО ПЕРЕНОСА: если дата выпадает на СБ или ВС — платим в ПОНЕДЕЛЬНИК.
#   суббота → +2 дня (пн),  воскресенье → +1 день (пн).

WEEKEND_RULE = "monday"   # сб/вс → понедельник (применяется ко всем датам ниже)

# --- Педагоги за ЗАНЯТИЯ (только уроки: 1-1, групповые, B2B абонемент/пробные и пр.) ---
# Платим ДВАЖДЫ в месяц: 1-го и 16-го.
#   • 16-го числа — за ПЕРВУЮ половину ТЕКУЩЕГО месяца (уроки 1–15).
#   • 1-го числа  — за ВТОРУЮ половину ПРЕДЫДУЩЕГО месяца (уроки 16–30/31 прошлого месяца).
# Перенос сб/вс → понедельник (напр.: 1-е сб → платим 3-го; 1-е вс → 2-го; 16-е сб → 18-го; 16-е вс → 17-го).
# Редкие исключения: могут выдать чуть РАНЬШЕ (30/31), если это пятница; могут ЗАДЕРЖАТЬ, если нет денег.
TEACHERS_PAY = {
    "half1_lessons": (1, 15),    # уроки 1–15
    "half1_paid_on": 16,         #   → выплата 16-го (текущего месяца)
    "half2_lessons": (16, 31),   # уроки 16–конец месяца
    "half2_paid_on": 1,          #   → выплата 1-го (следующего месяца)
    "weekend_rule": WEEKEND_RULE,
    "notes": "иногда раньше (30/31, если пятница); могут задержать при нехватке денег",
}

# --- Бэк-офис ---
# Платим 5-го и 20-го. Тот же перенос сб/вс → понедельник.
# ВАЖНО: 5-го платим за ПРОШЛЫЙ период (напр. 5 июля — зарплата за июнь). По кассе считать по ДАТЕ выплаты.
# Сплит по людям:
#   • Блинова, Кревер — вся сумма 5-го (100% на 5).
#   • Хабриева, Прохорова, Поляков, администраторы, Мухина (доп.) — 50% 5-го + 50% 20-го.
#   • Харитонов (Саша) — TODO: уточнить (5-го целиком или 50/50).
BACKOFFICE_PAY = {
    "dates": [5, 20],
    "weekend_rule": WEEKEND_RULE,
    "split": {
        "full_on_5": ["Блинова Наталия", "Кревер Екатерина"],
        "half_5_half_20": ["Хабриева Эльмира", "Оля Прохорова", "Михаил Поляков",
                           "администраторы", "Наташа Мухина"],
    },
    # Харитонов (Саша, фаундер, берёт сам). ЗАРПЛАТА ~85к: 20 880 (~5-е, Точка) + 65 000 (~12-18-е, наличка).
    #   Отдельно ~13 920 (~20-е, Точка) — это его ВЗНОС/налог (в фонды), НЕ зарплата → статья «Взносы в фонды».
    #   (по описанию идёт «на счёт Харитонова» — Наташа считает это взносом; перепроверить при случае.)
    "kharitonov": {
        "salary": [
            {"day": 5,  "amount": 20880, "moneybag": "точка"},
            {"day": 14, "amount": 65000, "moneybag": "наличка"},
        ],
        "tax_vznos": {"day": 20, "amount": 13920, "moneybag": "точка"},
    },
}

# --- Прочие крупные регулярные платежи (даты оттока для кассы/runway) ---
# Аренда — 15-го. (Ключевые дни оттока в месяце: 1 педагоги, 5 бэк-офис, 15 аренда, 16 педагоги, 25 сервисы/проценты, 1 снова.)
OTHER_PAY_DATES = {
    "Аренда и содержание здания (ком.услуги)": 15,
}

# ==================== СТАВКИ БЭК-ОФИСА ====================
# Большинство — ОКЛАД (фиксированный). Нефиксированные вынесены отдельно.
# TODO: заполнить конкретные суммы окладов (Наташа даст или вытянем из факта Финтабло).

BACKOFFICE_FIXED = {
    # имя: {счёт: сумма ₽/мес}. Оклады фиксированные.
    "Блинова Наталия":     {"точка": 85000},
    "Кревер Екатерина":    {"точка": 74000},
    "Хабриева Эльмира":    {"точка": 85000},
    "Харитонов Александр (Саша)": {"точка": 34000, "наличка": 65000},  # 34к официально + 65к нал = 99к
    # "Селютина Софья":    УВОЛИЛАСЬ (2026-07), место вакантно — ищут замену, в плане НЕ платим до найма (было 85к)
    # "Маркетинг":         TODO — уточнить, человек или подрядчики (до мая шло как «услуги маркетинга/SMM/PR»)
}

BACKOFFICE_VARIABLE = {
    # НЕфиксированная оплата. Прохорова/Поляков — берём средний факт последних месяцев.
    "Оля Прохорова":  {"type": "avg_fact", "amount": 77000},   # среднее май–июль (пляшет 49–98к)
    "Михаил Поляков": {"type": "avg_fact", "amount": 22000},   # факт июль (пока одна точка)
    # АДМИНИСТРАТОРЫ — прогноз: 2 админа в смену ежедневно = 8000 ₽/день (2 × 4000/смена).
    # За месяц: 8000 × число_дней (≈ 240к за 30 дней). Считать по дням месяца.
    "администраторы": {"type": "per_day", "per_day": 8000, "note": "2 админа/день × 4000"},
    # Наташа Мухина — работает администратором (входит в пул смен выше) + ДОП. 30 000 ₽ сверху.
    "Наташа Мухина":  {"type": "extra_fixed", "amount": 30000},
}

# ==================== СТАВКИ ПЕДАГОГОВ ЗА УРОК ====================
# Используются для расчёта ЗП педагогов = уроки (из AlfaCRM) × ставка.
# (перенесено из margins.LESSON_TYPE_RATE — единый источник здесь)
LESSON_RATES = {
    "Индивидуальный": 1200,
    "Пробный": 900,              # индивидуальный пробный
    "Вписанный": 1200,           # доотработка = как индив
    "ФИТМОСТ": 1200,             # дефолт, уточнить
    "Групповой": 2700,
    "Групповой пробный": 2700,
    "B2B Индивидуальный": 1200,
    "B2B Пробный": 900,
    "B2B Групповой": 2700,
}
