# Generated by Django 4.1.6 on 2026-01-24 20:56

import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='Cidade',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=50, verbose_name='Nome da Cidade')),
            ],
        ),
        migrations.CreateModel(
            name='Cliente',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('codigo', models.CharField(blank=True, max_length=10, null=True, verbose_name='Código Interno')),
                ('datacadastro', models.DateField(default=django.utils.timezone.now, verbose_name='Data Cadastro')),
                ('situacao', models.CharField(choices=[('Ativo', 'Ativo'), ('Inativo', 'Inativa')], max_length=10, verbose_name='Situação')),
                ('tipopessoa', models.CharField(choices=[('Fisica', 'Fisica'), ('Juridica', 'Juridica')], max_length=10, verbose_name='Tipo Pessoa')),
                ('nome', models.CharField(max_length=50, verbose_name='Nome do Cliente')),
                ('datanascimento', models.DateField(blank=True, null=True, verbose_name='Data Nacimento')),
                ('cnpj', models.CharField(blank=True, max_length=18, null=True, verbose_name='CNPJ')),
                ('cpf', models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF')),
                ('rg', models.CharField(blank=True, max_length=10, null=True, verbose_name='RG')),
                ('rgemissor', models.CharField(blank=True, max_length=25, null=True, verbose_name='Emissor')),
                ('endereco', models.CharField(max_length=35, verbose_name='Endereço')),
                ('cep', models.CharField(blank=True, max_length=15, null=True, verbose_name='CEP')),
                ('bairro', models.CharField(max_length=25, verbose_name='Bairro')),
                ('telefone01', models.CharField(max_length=15, verbose_name='Telefone01')),
                ('telefone02', models.CharField(blank=True, max_length=15, null=True, verbose_name='Telefone02')),
                ('email', models.EmailField(blank=True, max_length=50, null=True, verbose_name='E-Mail')),
                ('website', models.URLField(blank=True, max_length=50, null=True, verbose_name='WebSite')),
                ('observacao', models.TextField(blank=True, max_length=150, null=True, verbose_name='Observação')),
                ('cidade', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cadastros.cidade')),
            ],
        ),
        migrations.CreateModel(
            name='Estado',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nome', models.CharField(max_length=30, verbose_name='Nome do Estado')),
            ],
        ),
        migrations.CreateModel(
            name='Recibo',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('protocolo', models.CharField(max_length=25, unique=True, verbose_name='Protocolo de Serviço')),
                ('dataservico', models.DateField(verbose_name='Data Serviço')),
                ('datarecebimento', models.DateField(verbose_name='Data de Recebimento')),
                ('cliente', models.CharField(max_length=50, verbose_name='Nome do Cliente')),
                ('cnpj', models.CharField(blank=True, max_length=18, null=True, verbose_name='CNPJ')),
                ('cpf', models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF')),
                ('telefone', models.CharField(max_length=15, null=True, verbose_name='Telefone')),
                ('historico', models.TextField(max_length=1024, verbose_name='Histórico do Serviço')),
                ('email', models.EmailField(blank=True, max_length=50, null=True, verbose_name='E-Mail')),
                ('responsavel', models.CharField(max_length=50, verbose_name='Responsável Técnico')),
                ('valorrecibo', models.DecimalField(blank=True, decimal_places=2, max_digits=16, null=True, verbose_name='Valor Total')),
            ],
        ),
        migrations.CreateModel(
            name='TipoCliente',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('tipo', models.CharField(max_length=20, verbose_name='Tipo do Cliente')),
            ],
        ),
        migrations.CreateModel(
            name='Visita',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('protocolo', models.CharField(max_length=25, unique=True, verbose_name='Protocolo de Visita')),
                ('datavisita', models.DateField(default=datetime.date.today, verbose_name='Data Visita')),
                ('cnpj', models.CharField(blank=True, max_length=18, null=True, verbose_name='CNPJ')),
                ('cpf', models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF')),
                ('telefone', models.CharField(max_length=15, null=True, verbose_name='Telefone')),
                ('historico', models.TextField(max_length=1024, verbose_name='Histórico da Visita')),
                ('email', models.EmailField(blank=True, max_length=50, null=True, verbose_name='E-Mail')),
                ('arquivo', models.FileField(blank=True, null=True, upload_to='enviados/')),
                ('responsavel', models.CharField(max_length=50, verbose_name='Responsável Técnico')),
                ('cliente', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='visitas', to='cadastros.cliente', verbose_name='Nome do Cliente')),
                ('usuario', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='nome', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Servico',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('protocolo', models.CharField(max_length=15, unique=True, verbose_name='Protocolo de Serviço')),
                ('cnpj', models.CharField(blank=True, max_length=18, null=True, verbose_name='CNPJ')),
                ('cpf', models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF')),
                ('telefone', models.CharField(max_length=15, verbose_name='Telefone')),
                ('email', models.EmailField(blank=True, max_length=50, null=True, verbose_name='E-Mail')),
                ('dataentrada', models.DateField(default=datetime.date.today, verbose_name='Data Entrada')),
                ('datasaida', models.DateField(blank=True, null=True, verbose_name='Data Saída')),
                ('equipamento', models.TextField(max_length=255, verbose_name='Descrição do Equipamento')),
                ('estatus', models.TextField(max_length=100, verbose_name='Estado Aparente')),
                ('problema', models.TextField(max_length=255, verbose_name='Descrição do Problema')),
                ('analise', models.TextField(blank=True, max_length=1024, null=True, verbose_name='Analise do Técnica')),
                ('metodo', models.TextField(blank=True, max_length=255, null=True, verbose_name='Metodo de Analise')),
                ('procedimento', models.TextField(blank=True, max_length=1024, null=True, verbose_name='Procedimento Realizado')),
                ('responsavel', models.CharField(max_length=50, verbose_name='Responsável Técnico')),
                ('observacao', models.TextField(blank=True, max_length=255, null=True, verbose_name='Observação')),
                ('pecas', models.DecimalField(blank=True, decimal_places=2, max_digits=16, null=True, verbose_name='Valor Peças')),
                ('transporte', models.DecimalField(blank=True, decimal_places=2, max_digits=16, null=True, verbose_name='Valor Transporte')),
                ('manufatura', models.DecimalField(blank=True, decimal_places=2, max_digits=16, null=True, verbose_name='Valor Mão de Obra')),
                ('desconto', models.DecimalField(blank=True, decimal_places=2, max_digits=16, null=True, verbose_name='Valor Desconto')),
                ('total', models.DecimalField(blank=True, decimal_places=2, max_digits=16, null=True, verbose_name='Valor Total')),
                ('cliente', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='servicos', to='cadastros.cliente')),
                ('usuario', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='servicos', to=settings.AUTH_USER_MODEL)),
            ],
        ),
        migrations.CreateModel(
            name='Funcionario',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('codigo', models.CharField(blank=True, max_length=10, null=True, verbose_name='Código Interno')),
                ('datacadastro', models.DateField(default=django.utils.timezone.now, verbose_name='Data Cadastro')),
                ('situacao', models.CharField(choices=[('Ativo', 'Ativo'), ('Inativo', 'Inativa')], max_length=10, verbose_name='Situação')),
                ('nome', models.CharField(max_length=50, verbose_name='Nome do Funcionário')),
                ('datanascimento', models.DateField(blank=True, null=True, verbose_name='Data Nacimento')),
                ('cpf', models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF')),
                ('rg', models.CharField(blank=True, max_length=10, null=True, verbose_name='RG')),
                ('rgemissor', models.CharField(blank=True, max_length=25, null=True, verbose_name='Emissor')),
                ('endereco', models.CharField(max_length=35, verbose_name='Endereço')),
                ('cep', models.CharField(blank=True, max_length=15, null=True, verbose_name='CEP')),
                ('bairro', models.CharField(max_length=25, null=True, verbose_name='Bairro')),
                ('telefone01', models.CharField(max_length=15, null=True, verbose_name='Telefone01')),
                ('telefone02', models.CharField(blank=True, max_length=15, null=True, verbose_name='Telefone02')),
                ('email', models.EmailField(blank=True, max_length=50, null=True, verbose_name='E-Mail')),
                ('observacao', models.TextField(blank=True, max_length=150, null=True, verbose_name='Observação')),
                ('cidade', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='cadastros.cidade')),
                ('estado', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='cadastros.estado')),
                ('usuario', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Usuário de Login')),
            ],
        ),
        migrations.AddField(
            model_name='cliente',
            name='estado',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cadastros.estado'),
        ),
        migrations.AddField(
            model_name='cliente',
            name='tipocliente',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cadastros.tipocliente'),
        ),
        migrations.AddField(
            model_name='cidade',
            name='estado',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='cadastros.estado'),
        ),
        migrations.CreateModel(
            name='Agendamento',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('titulo', models.CharField(max_length=200, verbose_name='Título/Assunto')),
                ('descricao', models.TextField(blank=True, null=True, verbose_name='Descrição do Agendamento')),
                ('data', models.DateField(verbose_name='Data do Agendamento')),
                ('hora', models.TimeField(verbose_name='Hora')),
                ('status', models.CharField(choices=[('Pendente', 'Pendente'), ('Confirmado', 'Confirmado'), ('Cancelado', 'Cancelado'), ('Concluido', 'Concluído')], default='Pendente', max_length=15)),
                ('criado_em', models.DateTimeField(auto_now_add=True)),
                ('usuario', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Agendado por')),
            ],
            options={
                'ordering': ['data', 'hora'],
            },
        ),
    ]
