Skip to content

Instantly share code, notes, and snippets.

@brunocarvalhodearaujo
Last active March 5, 2018 12:09
Show Gist options
  • Save brunocarvalhodearaujo/3328a7afcd6f3ed83cd1b1e086568f87 to your computer and use it in GitHub Desktop.
Save brunocarvalhodearaujo/3328a7afcd6f3ed83cd1b1e086568f87 to your computer and use it in GitHub Desktop.
SAMU - esquema para o sistema de controle de campanhas publicitarias em pontos de onibus
type Cliente {
id: number,
cpfcnpj: number,
nome: string,
descricao?: string,
tipo?: 'privado' | 'publico', // --> enum
responsavel?: cliente, // alto referencia, não disponível inicialmente
observacoes?: string, // informações adicionais sobre o cliente
notificacoes: Array<string>
endereco?: string // no futuro daria para sugerir a um cliente onde anunciar baseado em sua localizaçao
}
type Veiculo {
id: number,
endereco: string,
displays: number // numero de faces
}
type Campanha {
id: number, // codigo unico da campanha
titulo: string, // nome da campanha para controle interno
 tipo?: 'interna' | 'externa' | 'central' // por padrao externa
periodo: {
inicio: Date, // por padrão a data atual
final: Date // quando a campanha termina e as faces de veiculo utilizadas poderam ser usadas
},
veiculos: Array<Veiculo>, // torna possível saber quais veiculos (e numeros de faces) estão sendo utilizados
cliente: Cliente,
status: 'concluida' | 'cancelada' | 'pendente' // por padrão como pendente
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment