# Generated by Django 5.0.6 on 2025-08-24 17:48

import django.db.models.deletion
import uuid
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('stiftung', '0009_alter_dokumentlink_paperless_document_id'),
    ]

    operations = [
        migrations.CreateModel(
            name='Rentmeister',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('anrede', models.CharField(blank=True, choices=[('herr', 'Herr'), ('frau', 'Frau'), ('dr', 'Dr.'), ('prof', 'Prof.'), ('prof_dr', 'Prof. Dr.')], max_length=10, verbose_name='Anrede')),
                ('vorname', models.CharField(max_length=100, verbose_name='Vorname')),
                ('nachname', models.CharField(max_length=100, verbose_name='Nachname')),
                ('titel', models.CharField(blank=True, max_length=50, verbose_name='Titel')),
                ('email', models.EmailField(blank=True, max_length=254, verbose_name='E-Mail')),
                ('telefon', models.CharField(blank=True, max_length=20, verbose_name='Telefon')),
                ('mobil', models.CharField(blank=True, max_length=20, verbose_name='Mobil')),
                ('strasse', models.CharField(blank=True, max_length=200, verbose_name='Straße')),
                ('plz', models.CharField(blank=True, max_length=10, verbose_name='PLZ')),
                ('ort', models.CharField(blank=True, max_length=100, verbose_name='Ort')),
                ('iban', models.CharField(blank=True, max_length=34, verbose_name='IBAN')),
                ('bic', models.CharField(blank=True, max_length=11, verbose_name='BIC')),
                ('bank_name', models.CharField(blank=True, max_length=100, verbose_name='Bank')),
                ('seit_datum', models.DateField(verbose_name='Rentmeister seit')),
                ('bis_datum', models.DateField(blank=True, null=True, verbose_name='Rentmeister bis')),
                ('aktiv', models.BooleanField(default=True, verbose_name='Aktiv')),
                ('monatliche_verguetung', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='Monatliche Vergütung (€)')),
                ('km_pauschale', models.DecimalField(decimal_places=2, default=0.3, max_digits=4, verbose_name='Kilometerpauschale (€/km)')),
                ('notizen', models.TextField(blank=True, verbose_name='Notizen')),
                ('erstellt_am', models.DateTimeField(auto_now_add=True)),
                ('aktualisiert_am', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Rentmeister',
                'verbose_name_plural': 'Rentmeister',
                'ordering': ['nachname', 'vorname'],
            },
        ),
        migrations.CreateModel(
            name='StiftungsKonto',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('kontoname', models.CharField(max_length=200, verbose_name='Kontoname')),
                ('bank_name', models.CharField(max_length=200, verbose_name='Bank')),
                ('iban', models.CharField(max_length=34, verbose_name='IBAN')),
                ('bic', models.CharField(blank=True, max_length=11, verbose_name='BIC')),
                ('konto_typ', models.CharField(choices=[('girokonto', 'Girokonto'), ('sparkonto', 'Sparkonto'), ('festgeld', 'Festgeld'), ('tagesgeld', 'Tagesgeld'), ('depot', 'Depot'), ('sonstiges', 'Sonstiges')], default='girokonto', max_length=20, verbose_name='Kontotyp')),
                ('saldo', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Aktueller Saldo')),
                ('saldo_datum', models.DateField(blank=True, null=True, verbose_name='Saldo-Datum')),
                ('zinssatz', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True, verbose_name='Zinssatz (%)')),
                ('laufzeit_bis', models.DateField(blank=True, null=True, verbose_name='Laufzeit bis')),
                ('aktiv', models.BooleanField(default=True, verbose_name='Aktiv')),
                ('notizen', models.TextField(blank=True, verbose_name='Notizen')),
                ('erstellt_am', models.DateTimeField(auto_now_add=True)),
                ('aktualisiert_am', models.DateTimeField(auto_now=True)),
            ],
            options={
                'verbose_name': 'Stiftungskonto',
                'verbose_name_plural': 'Stiftungskonten',
                'ordering': ['bank_name', 'kontoname'],
            },
        ),
        migrations.CreateModel(
            name='Verwaltungskosten',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('bezeichnung', models.CharField(max_length=200, verbose_name='Bezeichnung')),
                ('kategorie', models.CharField(choices=[('rechnung_intern', 'Interne Rechnung'), ('bueroausstattung', 'Büroausstattung'), ('fahrtkosten', 'Fahrtkosten'), ('porto', 'Porto & Versand'), ('telefon_internet', 'Telefon & Internet'), ('software', 'Software & Lizenzen'), ('beratung', 'Beratung & Dienstleistungen'), ('versicherung', 'Versicherungen'), ('steuerberatung', 'Steuerberatung'), ('bankgebuehren', 'Bankgebühren'), ('sonstiges', 'Sonstiges')], max_length=30, verbose_name='Kategorie')),
                ('betrag', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Betrag (€)')),
                ('datum', models.DateField(verbose_name='Datum')),
                ('lieferant_firma', models.CharField(blank=True, max_length=200, verbose_name='Lieferant/Firma')),
                ('rechnungsnummer', models.CharField(blank=True, max_length=100, verbose_name='Rechnungsnummer')),
                ('status', models.CharField(choices=[('geplant', 'Geplant'), ('bestellt', 'Bestellt'), ('erhalten', 'Erhalten'), ('bezahlt', 'Bezahlt'), ('storniert', 'Storniert')], default='geplant', max_length=20, verbose_name='Status')),
                ('km_anzahl', models.DecimalField(blank=True, decimal_places=1, max_digits=8, null=True, verbose_name='Kilometer')),
                ('km_satz', models.DecimalField(blank=True, decimal_places=2, max_digits=4, null=True, verbose_name='€/km')),
                ('von_ort', models.CharField(blank=True, max_length=100, verbose_name='Von (Ort)')),
                ('nach_ort', models.CharField(blank=True, max_length=100, verbose_name='Nach (Ort)')),
                ('zweck', models.CharField(blank=True, max_length=200, verbose_name='Zweck der Fahrt')),
                ('beschreibung', models.TextField(blank=True, verbose_name='Beschreibung')),
                ('notizen', models.TextField(blank=True, verbose_name='Notizen')),
                ('erstellt_am', models.DateTimeField(auto_now_add=True)),
                ('aktualisiert_am', models.DateTimeField(auto_now=True)),
                ('konto', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stiftung.stiftungskonto', verbose_name='Konto')),
                ('rentmeister', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stiftung.rentmeister', verbose_name='Rentmeister')),
            ],
            options={
                'verbose_name': 'Verwaltungskosten',
                'verbose_name_plural': 'Verwaltungskosten',
                'ordering': ['-datum', '-erstellt_am'],
            },
        ),
    ]
