Company compra de uma Cooperative pelo provider de billing e distribui para funcionários ou passageiros vinculados.
O crédito não pertence à cooperativa. Ele pertence à Company que comprou o saldo e ao Customer que recebeu a concessão.
O uso definitivo do crédito é sempre por Ticket.
Conceitos
Credit Lifecycle
Compra, concessão, reserva, captura por ticket, liberação, estorno e expiração.
Data Modelling
CompanyCreditAccount, CompanyCreditPurchase, CreditGrant e CreditLedgerEntry.
Ownership
Tabelas do fluxo
Crédito para funcionário
Quando a Company concede crédito poruserId, o sistema resolve o Customer ou cria um perfil mínimo automaticamente. Documento e endereço podem ser completados depois. O crédito continua pertencendo ao Customer.
Esse Customer pode usar o crédito em qualquer ticket elegível, mesmo que o ticket seja de uma cooperativa diferente da Company que concedeu o crédito.
Para relatórios corporativos, o vínculo com funcionário é resolvido a partir de Employee.customerId e CreditGrant.customerId. Employee.department pode ser usado como agrupamento operacional quando a Company usa departamento como centro de custo. Se o produto exigir centro de custo formal e independente, isso deve virar uma modelagem própria.
Uso em ticket
O checkout pode reservar crédito enquanto a compra está em andamento. A captura definitiva acontece porTicket, porque o ticket é a unidade real de uso do transporte.
Relatórios possíveis
Fronteiras
- Credit Grant é meio de pagamento interno.
- Benefits reduz o preço antes ou durante o cálculo da compra.
- Billing registra tanto a cobrança de Order quanto o Payment da compra de crédito corporativo.
- Credit Grant registra qual Company financiou o crédito usado no Ticket.