Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 24 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 1 |
| MetricKey | |
0.00% |
0 / 24 |
|
0.00% |
0 / 2 |
506 | |
0.00% |
0 / 1 |
| label | |
0.00% |
0 / 18 |
|
0.00% |
0 / 1 |
306 | |||
| category | |
0.00% |
0 / 6 |
|
0.00% |
0 / 1 |
30 | |||
| 1 | <?php |
| 2 | |
| 3 | declare(strict_types=1); |
| 4 | |
| 5 | namespace ImovelZapAi\Analytics\Domain\Enums; |
| 6 | |
| 7 | enum MetricKey: string |
| 8 | { |
| 9 | case PeopleOpportunitiesCreated = 'people_opportunities_created'; |
| 10 | case DealsWon = 'deals_won'; |
| 11 | case VolumeNegotiated = 'volume_negotiated'; |
| 12 | case VisitsCreated = 'visits_created'; |
| 13 | case VisitsConfirmed = 'visits_confirmed'; |
| 14 | case VisitsCompleted = 'visits_completed'; |
| 15 | case SignaturesRequested = 'signatures_requested'; |
| 16 | case SignaturesCompleted = 'signatures_completed'; |
| 17 | case PaymentsReceivedCount = 'payments_received_count'; |
| 18 | case PaymentsReceivedAmount = 'payments_received_amount'; |
| 19 | case CommissionsCalculated = 'commissions_calculated'; |
| 20 | case DocumentsCreated = 'documents_created'; |
| 21 | case DocumentsRejected = 'documents_rejected'; |
| 22 | case PortalDocumentsUploaded = 'portal_documents_uploaded'; |
| 23 | case WorkflowsExecuted = 'workflows_executed'; |
| 24 | case PropertiesListedStub = 'properties_listed_stub'; |
| 25 | |
| 26 | public function label(): string |
| 27 | { |
| 28 | return match ($this) { |
| 29 | self::PeopleOpportunitiesCreated => 'Oportunidades criadas', |
| 30 | self::DealsWon => 'Oportunidades ganhas', |
| 31 | self::VolumeNegotiated => 'Volume negociado', |
| 32 | self::VisitsCreated => 'Visitas agendadas', |
| 33 | self::VisitsConfirmed => 'Visitas confirmadas', |
| 34 | self::VisitsCompleted => 'Visitas concluídas', |
| 35 | self::SignaturesRequested => 'Assinaturas solicitadas', |
| 36 | self::SignaturesCompleted => 'Assinaturas concluídas', |
| 37 | self::PaymentsReceivedCount => 'Pagamentos recebidos', |
| 38 | self::PaymentsReceivedAmount => 'Valor recebido', |
| 39 | self::CommissionsCalculated => 'Comissões calculadas', |
| 40 | self::DocumentsCreated => 'Documentos criados', |
| 41 | self::DocumentsRejected => 'Documentos recusados', |
| 42 | self::PortalDocumentsUploaded => 'Documentos no portal', |
| 43 | self::WorkflowsExecuted => 'Automações executadas', |
| 44 | self::PropertiesListedStub => 'Imóveis ativos (estimativa)', |
| 45 | }; |
| 46 | } |
| 47 | |
| 48 | public function category(): string |
| 49 | { |
| 50 | return match ($this) { |
| 51 | self::PeopleOpportunitiesCreated, self::DealsWon, self::VolumeNegotiated => 'comercial', |
| 52 | self::PropertiesListedStub => 'imoveis', |
| 53 | self::PaymentsReceivedCount, self::PaymentsReceivedAmount, self::CommissionsCalculated => 'financeiro', |
| 54 | default => 'operacional', |
| 55 | }; |
| 56 | } |
| 57 | } |