1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
/**
* @copyright Vertex. All rights reserved. https://www.vertexinc.com/
* @author Mediotype Development <diveinto@mediotype.com>
*/
namespace Vertex\Data;
/**
* Represents a Jurisdiction for which a tax applies
*
* @api
*/
interface JurisdictionInterface
{
/** @var string Army Post Office */
const JURISDICTION_LEVEL_APO = 'APO';
/** @var string Borough */
const JURISDICTION_LEVEL_BOROUGH = 'BOROUGH';
/** @var string City */
const JURISDICTION_LEVEL_CITY = 'CITY';
/** @var string Country */
const JURISDICTION_LEVEL_COUNTRY = 'COUNTRY';
/** @var string County */
const JURISDICTION_LEVEL_COUNTY = 'COUNTY';
/** @var string District */
const JURISDICTION_LEVEL_DISTRICT = 'DISTRICT';
/** @var string Fleet Post Office */
const JURISDICTION_LEVEL_FPO = 'FPO';
/** @var string Local Improvement District */
const JURISDICTION_LEVEL_LOCAL_IMPROVEMENT_DISTRICT = 'LOCAL_IMPROVEMENT_DISTRICT';
/** @var string Parish */
const JURISDICTION_LEVEL_PARISH = 'PARISH';
/** @var string Province */
const JURISDICTION_LEVEL_PROVINCE = 'PROVINCE';
/** @var string Special Purporse District */
const JURISDICTION_LEVEL_SPECIAL_PURPOSE_DISTRICT = 'SPECIAL_PURPOSE_DISTRICT';
/** @var string State */
const JURISDICTION_LEVEL_STATE = 'STATE';
/** @var string Territory */
const JURISDICTION_LEVEL_TERRITORY = 'TERRITORY';
/** @var string Township */
const JURISDICTION_LEVEL_TOWNSHIP = 'TOWNSHIP';
/** @var string Trade Block */
const JURISDICTION_LEVEL_TRADE_BLOCK = 'TRADE_BLOCK';
/** @var string Transit District */
const JURISDICTION_LEVEL_TRANSIT_DISTRICT = 'TRANSIT_DISTRICT';
/**
* Get the date when the tax for the jurisdiction became effective
*
* @return \DateTimeInterface
*/
public function getEffectiveDate();
/**
* Get the date after which the tax for the jurisdiction is no longer effective
*
* @return \DateTimeInterface
*/
public function getExpirationDate();
/**
* Get the jurisdiction code assigned by the relevant governmental authority
*
* @return string
*/
public function getExternalJurisdictionCode();
/**
* Get the Vertex-specific number that identifies a jurisdiction
*
* @return int
*/
public function getId();
/**
* Get the level of the jurisdiction for which the tax on the line item is applied
*
* Identifies the jurisdiction's common classification based on its geopolitical and/or taxing context. They are
* state, province, county, city, parish, districts.
*
* @return string
*/
public function getLevel();
/**
* Get the name that this jurisdiction is commonly known.
*
* For example, Pennsylvania.
*
* @return string
*/
public function getName();
/**
* Set the date when the tax for the jurisdiction became effective
*
* @param \DateTimeInterface $effectiveDate
* @return JurisdictionInterface
*/
public function setEffectiveDate($effectiveDate);
/**
* Set the date after which the tax for the jurisdiction is no longer effective
*
* @param \DateTimeInterface $expirationDate
* @return JurisdictionInterface
*/
public function setExpirationDate($expirationDate);
/**
* Set the jurisdiction code assigned by the relevant governmental authority
*
* @param string $externalCode
* @return JurisdictionInterface
*/
public function setExternalJurisdictionCode($externalCode);
/**
* Set the Vertex-specific number that identifies a jurisdiction
*
* @param int $jurisdictionId
* @return JurisdictionInterface
*/
public function setId($jurisdictionId);
/**
* Set the level of the jurisdiction for which the tax on the line item is applied
*
* Identifies the jurisdiction's common classification based on its geopolitical and/or taxing context. They are
* state, province, county, city, parish, districts.
*
* @param string $level One of the JURISDICTION_LEVEL constants
* @return JurisdictionInterface
*/
public function setLevel($level);
/**
* Set the name that this jurisdiction is commonly known.
*
* For example, Pennsylvania.
*
* @param string $name
* @return JurisdictionInterface
*/
public function setName($name);
}