# Generated by Django 4.2.16 on 2025-10-15 09:12

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name="LayananContact",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "name",
                    models.CharField(
                        default="Kontak", max_length=100, verbose_name="Nama"
                    ),
                ),
                (
                    "position",
                    models.CharField(
                        default="Staff", max_length=100, verbose_name="Jabatan"
                    ),
                ),
                (
                    "phone",
                    models.CharField(
                        default="0000000000", max_length=20, verbose_name="Telepon"
                    ),
                ),
                (
                    "email",
                    models.EmailField(
                        default="kontak@desa.id", max_length=254, verbose_name="Email"
                    ),
                ),
                (
                    "department",
                    models.CharField(
                        default="Umum", max_length=100, verbose_name="Departemen"
                    ),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="Aktif")),
                ("notes", models.TextField(blank=True, verbose_name="Catatan")),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="Dibuat Pada"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="Diperbarui Pada"),
                ),
            ],
            options={
                "verbose_name": "Kontak Layanan",
                "verbose_name_plural": "Kontak Layanan",
                "ordering": ["created_at"],
            },
        ),
        migrations.CreateModel(
            name="LayananFAQ",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("question", models.TextField(verbose_name="Pertanyaan")),
                ("answer", models.TextField(verbose_name="Jawaban")),
                (
                    "category",
                    models.CharField(
                        choices=[
                            ("general", "Umum"),
                            ("documents", "Dokumen"),
                            ("services", "Layanan"),
                            ("technical", "Teknis"),
                        ],
                        default="general",
                        max_length=20,
                        verbose_name="Kategori",
                    ),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="Aktif")),
                (
                    "order",
                    models.PositiveIntegerField(default=0, verbose_name="Urutan"),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="Dibuat Pada"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="Diperbarui Pada"),
                ),
            ],
            options={
                "verbose_name": "FAQ Layanan",
                "verbose_name_plural": "FAQ Layanan",
                "ordering": ["order", "created_at"],
            },
        ),
        migrations.CreateModel(
            name="LayananFeedback",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100, verbose_name="Nama")),
                ("email", models.EmailField(max_length=254, verbose_name="Email")),
                (
                    "phone",
                    models.CharField(blank=True, max_length=20, verbose_name="Telepon"),
                ),
                (
                    "category",
                    models.CharField(
                        choices=[
                            ("complaint", "Keluhan"),
                            ("suggestion", "Saran"),
                            ("question", "Pertanyaan"),
                            ("praise", "Pujian"),
                        ],
                        default="suggestion",
                        max_length=20,
                        verbose_name="Kategori",
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("pending", "Menunggu"),
                            ("read", "Sudah Dibaca"),
                            ("replied", "Sudah Dibalas"),
                            ("closed", "Ditutup"),
                        ],
                        default="pending",
                        max_length=20,
                        verbose_name="Status",
                    ),
                ),
                ("subject", models.CharField(max_length=200, verbose_name="Subjek")),
                ("message", models.TextField(verbose_name="Pesan")),
                ("reply", models.TextField(blank=True, verbose_name="Balasan")),
                (
                    "replied_at",
                    models.DateTimeField(
                        blank=True, null=True, verbose_name="Dibalas Pada"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="Dibuat Pada"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="Diperbarui Pada"),
                ),
            ],
            options={
                "verbose_name": "Feedback Layanan",
                "verbose_name_plural": "Feedback Layanan",
                "ordering": ["-created_at"],
            },
        ),
        migrations.CreateModel(
            name="LayananService",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=200, verbose_name="Nama Layanan")),
                ("description", models.TextField(verbose_name="Deskripsi")),
                (
                    "category",
                    models.CharField(
                        choices=[
                            ("documents", "Dokumen"),
                            ("health", "Kesehatan"),
                            ("business", "Bisnis"),
                            ("tourism", "Pariwisata"),
                            ("other", "Lainnya"),
                        ],
                        default="other",
                        max_length=20,
                        verbose_name="Kategori",
                    ),
                ),
                (
                    "icon",
                    models.CharField(blank=True, max_length=50, verbose_name="Icon"),
                ),
                ("url", models.URLField(blank=True, verbose_name="URL")),
                ("is_active", models.BooleanField(default=True, verbose_name="Aktif")),
                (
                    "order",
                    models.PositiveIntegerField(default=0, verbose_name="Urutan"),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="Dibuat Pada"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="Diperbarui Pada"),
                ),
            ],
            options={
                "verbose_name": "Layanan",
                "verbose_name_plural": "Layanan",
                "ordering": ["order", "created_at"],
            },
        ),
        migrations.CreateModel(
            name="LayananDocumentRequest",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "full_name",
                    models.CharField(max_length=200, verbose_name="Nama Lengkap"),
                ),
                ("nik", models.CharField(max_length=16, verbose_name="NIK")),
                (
                    "phone",
                    models.CharField(max_length=20, verbose_name="Nomor Telepon"),
                ),
                (
                    "email",
                    models.EmailField(blank=True, max_length=254, verbose_name="Email"),
                ),
                ("address", models.TextField(verbose_name="Alamat Lengkap")),
                (
                    "document_type",
                    models.CharField(
                        choices=[
                            ("surat_keterangan", "Surat Keterangan"),
                            ("surat_pengantar", "Surat Pengantar"),
                            ("surat_izin", "Surat Izin"),
                            ("surat_rekomendasi", "Surat Rekomendasi"),
                            ("surat_kepemilikan", "Surat Kepemilikan"),
                            ("surat_lainnya", "Surat Lainnya"),
                        ],
                        default="surat_keterangan",
                        max_length=50,
                        verbose_name="Jenis Dokumen",
                    ),
                ),
                (
                    "purpose",
                    models.CharField(max_length=200, verbose_name="Tujuan Penggunaan"),
                ),
                (
                    "description",
                    models.TextField(blank=True, verbose_name="Keterangan Tambahan"),
                ),
                (
                    "ktp_file",
                    models.FileField(
                        blank=True,
                        upload_to="layanan/ktp/",
                        verbose_name="Fotokopi KTP",
                    ),
                ),
                (
                    "kk_file",
                    models.FileField(
                        blank=True, upload_to="layanan/kk/", verbose_name="Fotokopi KK"
                    ),
                ),
                (
                    "additional_file",
                    models.FileField(
                        blank=True,
                        upload_to="layanan/additional/",
                        verbose_name="Dokumen Tambahan",
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("pending", "Menunggu"),
                            ("approved", "Disetujui"),
                            ("rejected", "Ditolak"),
                            ("cancelled", "Dibatalkan"),
                        ],
                        default="pending",
                        max_length=20,
                        verbose_name="Status",
                    ),
                ),
                (
                    "rejection_reason",
                    models.TextField(blank=True, verbose_name="Alasan Penolakan"),
                ),
                (
                    "processed_at",
                    models.DateTimeField(
                        blank=True, null=True, verbose_name="Diproses Pada"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(auto_now_add=True, verbose_name="Dibuat Pada"),
                ),
                (
                    "updated_at",
                    models.DateTimeField(auto_now=True, verbose_name="Diperbarui Pada"),
                ),
                (
                    "processed_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="Diproses Oleh",
                    ),
                ),
            ],
            options={
                "verbose_name": "Permintaan Dokumen Layanan",
                "verbose_name_plural": "Permintaan Dokumen Layanan",
                "ordering": ["-created_at"],
            },
        ),
    ]
