Pular para o conteúdo

Regras de negócio

ID Regra Onde é aplicada
RN-01 Todo rascunho pertence a um usuário e identifica um paciente (customerName). Draft
RN-02 O código do rascunho, do pedido e das taxas segue padrões próprios (ORD-<timestamp>-<n>, TX001, EN001…). domain/value-objects/codes.ts
RN-03 Cada item do rascunho é de um tipo: produto, peça ou cobertura (ItemType), e se aplica a um lado (Side, padrão AMBOS). DraftItem
RN-04 A plantigrafia precisa estar em A4 (210 × 297 mm). O canvas do estúdio mantém a proporção A4 (1 : 1,414) e os PDFs de produção são gerados em A4 para impressão em escala real. VectorizationCanvas, pdf-generator-service
RN-05 Todo rascunho recebe a taxa de montagem TX001 (R$ 30,00 em out/2026). prisma-draft-repository
RN-06 O preço da parcial soma produto, peças e cobertura por pé, mais a taxa de montagem. /partial/[id]
RN-07 Formas de envio são taxas cujo código contém EN (em out/2026: EN001 Retira na Fábrica, R$ 0,00; EN002 Envio Transportadora, R$ 24,90). Subtotal.tsx
RN-08 Um cupom aplica desconto sobre a sacola e precisa ser validado pelo código. GET /coupons/validate/:code
RN-09 O pagamento é feito no checkout da InfinitePay. O valor é enviado em centavos e o identificador do pedido viaja como order_nsu = <orderId>-<cartId>. checkout/page.tsx
RN-10 Só a passagem para Pago gera os PDFs de produção e o e-mail de confirmação. UpdateOrderStatusUseCase
RN-11 A passagem para Pronto exige informar o envio: código/link de rastreio ou retirada no local. UpdateOrderShippingUseCase
RN-12 O administrador pode mover o pedido para qualquer status, sem máquina de estados restritiva. UpdateOrderStatusUseCase (comentário explícito no código)
RN-13 Itens de catálogo não são apagados no uso cotidiano: são desativados (isActive). Admin: “Desativar item”
Desenvolvido e documentado por
Nós Tecnologia · Desenvolvimento Criativo