RegimeType   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 36
c 1
b 0
f 0
dl 0
loc 40
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A description() 0 20 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Squareetlabs\VeriFactu\Enums;
6
7
enum RegimeType: string
8
{
9
    case GENERAL = '01';
10
    case EXPORT = '02';
11
    case USED_GOODS = '03';
12
    case GOLD_INVESTMENT = '04';
13
    case TRAVEL_AGENCIES = '05';
14
    case ENTITY_GROUP = '06';
15
    case CASH_CRITERION = '07';
16
    case IPSI_IGIC = '08';
17
    case TRAVEL_AGENCY_MEDIATION = '09';
18
    case THIRD_PARTY_COLLECTIONS = '10';
19
    case BUSINESS_LEASE = '11';
20
    case IVA_CERTIFICATIONS = '14';
21
    case IVA_SUCCESSIVE = '15';
22
    case CHAPTER_XI = '17';
23
    case EQUIVALENCE_SURCHARGE = '18';
24
    case REAGYP = '19';
25
    case SIMPLIFIED = '20';
26
27
    public function description(): string
28
    {
29
        return match($this) {
30
            self::GENERAL => 'General regime operation.',
31
            self::EXPORT => 'Export operation.',
32
            self::USED_GOODS => 'Special regime for used goods, art, antiques, and collectibles.',
33
            self::GOLD_INVESTMENT => 'Special regime for gold investment.',
34
            self::TRAVEL_AGENCIES => 'Special regime for travel agencies.',
35
            self::ENTITY_GROUP => 'Special regime for VAT group of entities (Advanced Level).',
36
            self::CASH_CRITERION => 'Special regime for cash criterion.',
37
            self::IPSI_IGIC => 'Operations subject to IPSI/IGIC.',
38
            self::TRAVEL_AGENCY_MEDIATION => 'Travel agency mediation services.',
39
            self::THIRD_PARTY_COLLECTIONS => 'Third-party collections.',
40
            self::BUSINESS_LEASE => 'Business premises lease.',
41
            self::IVA_CERTIFICATIONS => 'VAT pending for certifications.',
42
            self::IVA_SUCCESSIVE => 'VAT pending for successive operations.',
43
            self::CHAPTER_XI => 'Regime under Chapter XI Title IX (OSS/IOSS).',
44
            self::EQUIVALENCE_SURCHARGE => 'Equivalence surcharge.',
45
            self::REAGYP => 'Special regime for agriculture, livestock, and fishing.',
46
            self::SIMPLIFIED => 'Simplified regime.',
47
        };
48
    }
49
}