> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Fare Benefit Flow

> Fluxo de gratuidade e desconto, da configuração até a aplicação no Order.

O fluxo de benefício tarifário começa no catálogo genérico, passa por um programa de aplicação e termina no histórico do desconto aplicado ao Order.

## Fluxo

```mermaid theme={null}
sequenceDiagram
    actor Platform as PlatformOperator
    actor Company as CompanyOperator
    actor Customer
    participant System
    participant Order

    Platform->>System: Cria categoria genérica
    alt Programa legal ou genérico
        Platform->>System: Cria programa PLATFORM
    else Programa comercial
        Company->>System: Cria programa COMPANY
    end
    Customer->>System: Solicita benefício
    Customer->>System: Envia documentos
    alt reviewOwnerType = PLATFORM
        Platform->>System: Analisa documentos e solicitação
    else reviewOwnerType = COMPANY
        Company->>System: Analisa documentos e solicitação
    end
    Customer->>System: Compra passagem
    System->>Order: Aplica desconto elegível
    System->>System: Registra histórico de uso
```

## Etapas

| Etapa                | Ator                                | Resultado                                                              |
| -------------------- | ----------------------------------- | ---------------------------------------------------------------------- |
| Configurar categoria | PlatformOperator                    | Tipo genérico disponível para programas.                               |
| Configurar programa  | PlatformOperator ou CompanyOperator | Regra de aplicação, vigência, valor e responsável por análise.         |
| Solicitar benefício  | Customer                            | Solicitação criada para um programa.                                   |
| Enviar documentos    | Customer                            | Documentos entram na fila de análise.                                  |
| Analisar             | PlatformOperator ou CompanyOperator | Solicitação aprovada, rejeitada, cancelada ou expirada.                |
| Comprar              | System                              | Benefício aprovado é avaliado contra Company, rota, viagem e vigência. |
| Registrar uso        | System                              | Histórico guarda snapshot do cálculo aplicado no Order.                |

## Regras

* Uma categoria inativa não pode receber novos programas.
* Um programa inativo ou fora da vigência não pode ser aplicado.
* Gratuidade total usa desconto percentual de 100%.
* Desconto percentual usa basis points.
* Desconto fixo usa centavos.
* A solicitação só pode ser aprovada quando os documentos obrigatórios estiverem aprovados.
* O Order guarda o valor final; o histórico guarda a regra e o valor descontado.
* Cancelamento, estorno ou correção revertem o uso do benefício sem apagar o histórico.

## Exemplos

| Benefício              | Exemplo de regra                                                         |
| ---------------------- | ------------------------------------------------------------------------ |
| Idoso                  | Gratuidade legal, análise pela plataforma e validade conforme documento. |
| Estudante              | Desconto percentual, documentos escolares e validade por período letivo. |
| PCD                    | Gratuidade ou desconto, documento específico e validade conforme laudo.  |
| Funcionário conveniado | Desconto comercial de Company, análise pela própria empresa.             |

Veja as entidades em [Benefits Data Modelling](/data-modelling/benefits/fare-benefit-category).
