// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.30.0

package generated

import (
	"github.com/jackc/pgx/v5/pgtype"
)

type Agenda struct {
	ID                            pgtype.UUID        `json:"id"`
	UserID                        pgtype.UUID        `json:"user_id"`
	FotID                         pgtype.UUID        `json:"fot_id"`
	DataEvento                    pgtype.Date        `json:"data_evento"`
	TipoEventoID                  pgtype.UUID        `json:"tipo_evento_id"`
	ObservacoesEvento             pgtype.Text        `json:"observacoes_evento"`
	LocalEvento                   pgtype.Text        `json:"local_evento"`
	Endereco                      pgtype.Text        `json:"endereco"`
	Horario                       pgtype.Text        `json:"horario"`
	QtdFormandos                  pgtype.Int4        `json:"qtd_formandos"`
	QtdFotografos                 pgtype.Int4        `json:"qtd_fotografos"`
	QtdRecepcionistas             pgtype.Int4        `json:"qtd_recepcionistas"`
	QtdCinegrafistas              pgtype.Int4        `json:"qtd_cinegrafistas"`
	QtdEstudios                   pgtype.Int4        `json:"qtd_estudios"`
	QtdPontoFoto                  pgtype.Int4        `json:"qtd_ponto_foto"`
	QtdPontoID                    pgtype.Int4        `json:"qtd_ponto_id"`
	QtdPontoDecorado              pgtype.Int4        `json:"qtd_ponto_decorado"`
	QtdPontosLed                  pgtype.Int4        `json:"qtd_pontos_led"`
	QtdPlataforma360              pgtype.Int4        `json:"qtd_plataforma_360"`
	StatusProfissionais           pgtype.Text        `json:"status_profissionais"`
	FotoFaltante                  pgtype.Int4        `json:"foto_faltante"`
	RecepFaltante                 pgtype.Int4        `json:"recep_faltante"`
	CineFaltante                  pgtype.Int4        `json:"cine_faltante"`
	LogisticaObservacoes          pgtype.Text        `json:"logistica_observacoes"`
	PreVenda                      pgtype.Bool        `json:"pre_venda"`
	CriadoEm                      pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm                  pgtype.Timestamptz `json:"atualizado_em"`
	Status                        pgtype.Text        `json:"status"`
	LogisticaNotificacaoEnviadaEm pgtype.Timestamp   `json:"logistica_notificacao_enviada_em"`
	Regiao                        pgtype.Text        `json:"regiao"`
	Contatos                      []byte             `json:"contatos"`
}

type AgendaEscala struct {
	ID               pgtype.UUID        `json:"id"`
	AgendaID         pgtype.UUID        `json:"agenda_id"`
	ProfissionalID   pgtype.UUID        `json:"profissional_id"`
	DataHoraInicio   pgtype.Timestamptz `json:"data_hora_inicio"`
	DataHoraFim      pgtype.Timestamptz `json:"data_hora_fim"`
	FuncaoEspecifica pgtype.Text        `json:"funcao_especifica"`
	CriadoEm         pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm     pgtype.Timestamptz `json:"atualizado_em"`
}

type AgendaProfissionai struct {
	ID             pgtype.UUID        `json:"id"`
	AgendaID       pgtype.UUID        `json:"agenda_id"`
	ProfissionalID pgtype.UUID        `json:"profissional_id"`
	Status         pgtype.Text        `json:"status"`
	MotivoRejeicao pgtype.Text        `json:"motivo_rejeicao"`
	FuncaoID       pgtype.UUID        `json:"funcao_id"`
	Posicao        pgtype.Text        `json:"posicao"`
	CriadoEm       pgtype.Timestamptz `json:"criado_em"`
	IsCoordinator  pgtype.Bool        `json:"is_coordinator"`
}

type AnosFormatura struct {
	ID          pgtype.UUID        `json:"id"`
	AnoSemestre string             `json:"ano_semestre"`
	CriadoEm    pgtype.Timestamptz `json:"criado_em"`
	Regiao      pgtype.Text        `json:"regiao"`
}

type CadastroCliente struct {
	ID           pgtype.UUID        `json:"id"`
	UsuarioID    pgtype.UUID        `json:"usuario_id"`
	EmpresaID    pgtype.UUID        `json:"empresa_id"`
	Nome         pgtype.Text        `json:"nome"`
	Telefone     pgtype.Text        `json:"telefone"`
	CriadoEm     pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
	CpfCnpj      pgtype.Text        `json:"cpf_cnpj"`
	Cep          pgtype.Text        `json:"cep"`
	Endereco     pgtype.Text        `json:"endereco"`
	Numero       pgtype.Text        `json:"numero"`
	Complemento  pgtype.Text        `json:"complemento"`
	Bairro       pgtype.Text        `json:"bairro"`
	Cidade       pgtype.Text        `json:"cidade"`
	Estado       pgtype.Text        `json:"estado"`
}

type CadastroFot struct {
	ID             pgtype.UUID        `json:"id"`
	Fot            string             `json:"fot"`
	EmpresaID      pgtype.UUID        `json:"empresa_id"`
	CursoID        pgtype.UUID        `json:"curso_id"`
	AnoFormaturaID pgtype.UUID        `json:"ano_formatura_id"`
	Instituicao    pgtype.Text        `json:"instituicao"`
	Cidade         pgtype.Text        `json:"cidade"`
	Estado         pgtype.Text        `json:"estado"`
	Observacoes    pgtype.Text        `json:"observacoes"`
	GastosCaptacao pgtype.Numeric     `json:"gastos_captacao"`
	PreVenda       pgtype.Bool        `json:"pre_venda"`
	CreatedAt      pgtype.Timestamptz `json:"created_at"`
	UpdatedAt      pgtype.Timestamptz `json:"updated_at"`
	Regiao         pgtype.Text        `json:"regiao"`
	Finalizada     pgtype.Bool        `json:"finalizada"`
}

type CadastroProfissionai struct {
	ID                   pgtype.UUID        `json:"id"`
	UsuarioID            pgtype.UUID        `json:"usuario_id"`
	Nome                 string             `json:"nome"`
	FuncaoProfissionalID pgtype.UUID        `json:"funcao_profissional_id"`
	Endereco             pgtype.Text        `json:"endereco"`
	Cidade               pgtype.Text        `json:"cidade"`
	Uf                   pgtype.Text        `json:"uf"`
	Whatsapp             pgtype.Text        `json:"whatsapp"`
	Cep                  pgtype.Text        `json:"cep"`
	Numero               pgtype.Text        `json:"numero"`
	Complemento          pgtype.Text        `json:"complemento"`
	Bairro               pgtype.Text        `json:"bairro"`
	CpfCnpjTitular       pgtype.Text        `json:"cpf_cnpj_titular"`
	Banco                pgtype.Text        `json:"banco"`
	Agencia              pgtype.Text        `json:"agencia"`
	Conta                pgtype.Text        `json:"conta"`
	ContaPix             pgtype.Text        `json:"conta_pix"`
	CarroDisponivel      pgtype.Bool        `json:"carro_disponivel"`
	TemEstudio           pgtype.Bool        `json:"tem_estudio"`
	QtdEstudio           pgtype.Int4        `json:"qtd_estudio"`
	TipoCartao           pgtype.Text        `json:"tipo_cartao"`
	Observacao           pgtype.Text        `json:"observacao"`
	QualTec              pgtype.Int4        `json:"qual_tec"`
	EducacaoSimpatia     pgtype.Int4        `json:"educacao_simpatia"`
	DesempenhoEvento     pgtype.Int4        `json:"desempenho_evento"`
	DispHorario          pgtype.Int4        `json:"disp_horario"`
	Media                pgtype.Numeric     `json:"media"`
	TabelaFree           pgtype.Text        `json:"tabela_free"`
	ExtraPorEquipamento  pgtype.Bool        `json:"extra_por_equipamento"`
	Equipamentos         pgtype.Text        `json:"equipamentos"`
	Email                pgtype.Text        `json:"email"`
	AvatarUrl            pgtype.Text        `json:"avatar_url"`
	CriadoEm             pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm         pgtype.Timestamptz `json:"atualizado_em"`
	Regiao               pgtype.Text        `json:"regiao"`
}

type CodigosAcesso struct {
	ID           pgtype.UUID        `json:"id"`
	Codigo       string             `json:"codigo"`
	Descricao    pgtype.Text        `json:"descricao"`
	ValidadeDias int32              `json:"validade_dias"`
	CriadoEm     pgtype.Timestamptz `json:"criado_em"`
	ExpiraEm     pgtype.Timestamptz `json:"expira_em"`
	Ativo        bool               `json:"ativo"`
	Usos         int32              `json:"usos"`
	EmpresaID    pgtype.UUID        `json:"empresa_id"`
	Regiao       pgtype.Text        `json:"regiao"`
}

type Curso struct {
	ID       pgtype.UUID        `json:"id"`
	Nome     string             `json:"nome"`
	CriadoEm pgtype.Timestamptz `json:"criado_em"`
	Regiao   pgtype.Text        `json:"regiao"`
}

type DisponibilidadeProfissionai struct {
	ID        pgtype.UUID        `json:"id"`
	UsuarioID pgtype.UUID        `json:"usuario_id"`
	Data      pgtype.Date        `json:"data"`
	Status    string             `json:"status"`
	CriadoEm  pgtype.Timestamptz `json:"criado_em"`
}

type Empresa struct {
	ID       pgtype.UUID        `json:"id"`
	Nome     string             `json:"nome"`
	CriadoEm pgtype.Timestamptz `json:"criado_em"`
	Regiao   pgtype.Text        `json:"regiao"`
}

type FinancialTransaction struct {
	ID               pgtype.UUID        `json:"id"`
	FotID            pgtype.UUID        `json:"fot_id"`
	DataCobranca     pgtype.Date        `json:"data_cobranca"`
	TipoEvento       pgtype.Text        `json:"tipo_evento"`
	TipoServico      pgtype.Text        `json:"tipo_servico"`
	ProfessionalName pgtype.Text        `json:"professional_name"`
	Whatsapp         pgtype.Text        `json:"whatsapp"`
	Cpf              pgtype.Text        `json:"cpf"`
	TabelaFree       pgtype.Text        `json:"tabela_free"`
	ValorFree        pgtype.Numeric     `json:"valor_free"`
	ValorExtra       pgtype.Numeric     `json:"valor_extra"`
	DescricaoExtra   pgtype.Text        `json:"descricao_extra"`
	TotalPagar       pgtype.Numeric     `json:"total_pagar"`
	DataPagamento    pgtype.Date        `json:"data_pagamento"`
	PgtoOk           pgtype.Bool        `json:"pgto_ok"`
	CriadoEm         pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm     pgtype.Timestamptz `json:"atualizado_em"`
	ProfissionalID   pgtype.UUID        `json:"profissional_id"`
	Regiao           pgtype.Text        `json:"regiao"`
}

type FuncoesProfissionai struct {
	ID           pgtype.UUID        `json:"id"`
	Nome         string             `json:"nome"`
	CriadoEm     pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
}

type LogisticaCarro struct {
	ID             pgtype.UUID        `json:"id"`
	AgendaID       pgtype.UUID        `json:"agenda_id"`
	MotoristaID    pgtype.UUID        `json:"motorista_id"`
	NomeMotorista  pgtype.Text        `json:"nome_motorista"`
	HorarioChegada pgtype.Text        `json:"horario_chegada"`
	Observacoes    pgtype.Text        `json:"observacoes"`
	CriadoEm       pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm   pgtype.Timestamptz `json:"atualizado_em"`
}

type LogisticaPassageiro struct {
	ID             pgtype.UUID        `json:"id"`
	CarroID        pgtype.UUID        `json:"carro_id"`
	ProfissionalID pgtype.UUID        `json:"profissional_id"`
	CriadoEm       pgtype.Timestamptz `json:"criado_em"`
}

type MapasEvento struct {
	ID        pgtype.UUID        `json:"id"`
	AgendaID  pgtype.UUID        `json:"agenda_id"`
	Nome      pgtype.Text        `json:"nome"`
	ImagemUrl pgtype.Text        `json:"imagem_url"`
	CriadoEm  pgtype.Timestamptz `json:"criado_em"`
}

type MarcadoresMapa struct {
	ID             pgtype.UUID        `json:"id"`
	MapaID         pgtype.UUID        `json:"mapa_id"`
	ProfissionalID pgtype.UUID        `json:"profissional_id"`
	PosX           pgtype.Numeric     `json:"pos_x"`
	PosY           pgtype.Numeric     `json:"pos_y"`
	Rotulo         pgtype.Text        `json:"rotulo"`
	CriadoEm       pgtype.Timestamptz `json:"criado_em"`
}

type PrecosTiposEvento struct {
	ID                   pgtype.UUID        `json:"id"`
	TipoEventoID         pgtype.UUID        `json:"tipo_evento_id"`
	FuncaoProfissionalID pgtype.UUID        `json:"funcao_profissional_id"`
	Valor                pgtype.Numeric     `json:"valor"`
	Regiao               pgtype.Text        `json:"regiao"`
	CriadoEm             pgtype.Timestamptz `json:"criado_em"`
}

type ProfissionaisFuncoesJunction struct {
	ProfissionalID pgtype.UUID `json:"profissional_id"`
	FuncaoID       pgtype.UUID `json:"funcao_id"`
}

type RefreshToken struct {
	ID        pgtype.UUID        `json:"id"`
	UsuarioID pgtype.UUID        `json:"usuario_id"`
	TokenHash string             `json:"token_hash"`
	UserAgent pgtype.Text        `json:"user_agent"`
	Ip        pgtype.Text        `json:"ip"`
	ExpiraEm  pgtype.Timestamptz `json:"expira_em"`
	Revogado  bool               `json:"revogado"`
	CriadoEm  pgtype.Timestamptz `json:"criado_em"`
}

type TiposEvento struct {
	ID       pgtype.UUID        `json:"id"`
	Nome     string             `json:"nome"`
	CriadoEm pgtype.Timestamptz `json:"criado_em"`
	Regiao   pgtype.Text        `json:"regiao"`
}

type TiposServico struct {
	ID       pgtype.UUID        `json:"id"`
	Nome     string             `json:"nome"`
	CriadoEm pgtype.Timestamptz `json:"criado_em"`
	Regiao   pgtype.Text        `json:"regiao"`
}

type Usuario struct {
	ID                pgtype.UUID        `json:"id"`
	Email             string             `json:"email"`
	SenhaHash         string             `json:"senha_hash"`
	Role              string             `json:"role"`
	TipoProfissional  pgtype.Text        `json:"tipo_profissional"`
	Ativo             bool               `json:"ativo"`
	CriadoEm          pgtype.Timestamptz `json:"criado_em"`
	AtualizadoEm      pgtype.Timestamptz `json:"atualizado_em"`
	RegioesPermitidas []string           `json:"regioes_permitidas"`
}
