Optei por usar UUID no lugar do int, já que no Postgres não há uma grande diferença de performance e gera maior segurança, ainda mais quando fizermos um app web.
Começando pela tabela do motorista, estarão nela os usuários cadastrados direto no aplicativo e também aqueles adicionados pelo profissional. Por enquanto não coloquei informações de login pois pretendo deixar isso como responsabilidade de terceiros, vou pesquisar melhor sobre Amazon Cognito.

No coração do app, temos o agendamento, me preocupei em não deixar muitas informações nessa tabela, por isso ela possui muitas chaves estrangeiras (pra quem não sabe, chave estrangeira faz o relacionamento dessa tabela com outras)

A tabela abaixo foi criada para possibilitar agendamento com mais de um serviço. A coluna preço contém o valor do serviço no momento que ocorreu o agendamento.

Os valores finais do agendamento ficarão na tabela de pagamentos


Com a necessidade da criação de serviços no próprio app dos profissionais, surgiu a demanda de separar os serviços da plataforma dos serviços do estabelecimento
Na tabela de serviços da plataforma temos os que aparecem para os motoristas, cadastrados por nós
A tabela preços da plataforma relaciona estabelecimento, serviço, tipo de veículo e o preço informado pelo profissional
