open-civics 0.1.3 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/sc/local/county-abbeville.json +56 -8
- package/data/sc/local/county-aiken.json +92 -20
- package/data/sc/local/county-allendale.json +47 -7
- package/data/sc/local/county-anderson.json +65 -9
- package/data/sc/local/county-bamberg.json +65 -9
- package/data/sc/local/county-barnwell.json +65 -9
- package/data/sc/local/county-beaufort.json +101 -13
- package/data/sc/local/county-berkeley.json +118 -46
- package/data/sc/local/county-calhoun.json +47 -7
- package/data/sc/local/county-charleston.json +83 -11
- package/data/sc/local/county-cherokee.json +56 -8
- package/data/sc/local/county-chester.json +65 -9
- package/data/sc/local/county-chesterfield.json +83 -11
- package/data/sc/local/county-clarendon.json +38 -6
- package/data/sc/local/county-colleton.json +47 -7
- package/data/sc/local/county-darlington.json +74 -10
- package/data/sc/local/county-dillon.json +65 -9
- package/data/sc/local/county-dorchester.json +56 -8
- package/data/sc/local/county-edgefield.json +47 -7
- package/data/sc/local/county-fairfield.json +65 -9
- package/data/sc/local/county-florence.json +83 -11
- package/data/sc/local/county-georgetown.json +65 -9
- package/data/sc/local/county-greenville.json +110 -14
- package/data/sc/local/county-greenwood.json +65 -9
- package/data/sc/local/county-hampton.json +47 -7
- package/data/sc/local/county-horry.json +110 -14
- package/data/sc/local/county-jasper.json +47 -7
- package/data/sc/local/county-kershaw.json +66 -8
- package/data/sc/local/county-lancaster.json +65 -9
- package/data/sc/local/county-laurens.json +65 -9
- package/data/sc/local/county-lee.json +74 -10
- package/data/sc/local/county-lexington.json +83 -11
- package/data/sc/local/county-marion.json +65 -9
- package/data/sc/local/county-marlboro.json +74 -10
- package/data/sc/local/county-mccormick.json +47 -7
- package/data/sc/local/county-newberry.json +65 -9
- package/data/sc/local/county-oconee.json +47 -7
- package/data/sc/local/county-orangeburg.json +38 -6
- package/data/sc/local/county-pickens.json +65 -9
- package/data/sc/local/county-richland.json +101 -13
- package/data/sc/local/county-saluda.json +47 -7
- package/data/sc/local/county-spartanburg.json +65 -9
- package/data/sc/local/county-sumter.json +65 -9
- package/data/sc/local/county-union.json +56 -8
- package/data/sc/local/county-williamsburg.json +65 -9
- package/data/sc/local/county-york.json +65 -9
- package/data/sc/local/place-abbeville.json +83 -11
- package/data/sc/local/place-aiken.json +94 -36
- package/data/sc/local/place-allendale.json +65 -9
- package/data/sc/local/place-anderson.json +74 -10
- package/data/sc/local/place-bamberg.json +56 -8
- package/data/sc/local/place-barnwell.json +65 -9
- package/data/sc/local/place-beaufort.json +47 -7
- package/data/sc/local/place-bennettsville.json +65 -9
- package/data/sc/local/place-bishopville.json +65 -9
- package/data/sc/local/place-camden.json +47 -7
- package/data/sc/local/place-charleston.json +92 -12
- package/data/sc/local/place-chester.json +83 -11
- package/data/sc/local/place-chesterfield.json +65 -9
- package/data/sc/local/place-columbia.json +65 -9
- package/data/sc/local/place-conway.json +65 -9
- package/data/sc/local/place-darlington.json +65 -9
- package/data/sc/local/place-dillon.json +65 -9
- package/data/sc/local/place-edgefield.json +65 -9
- package/data/sc/local/place-florence.json +65 -9
- package/data/sc/local/place-gaffney.json +56 -8
- package/data/sc/local/place-georgetown.json +65 -9
- package/data/sc/local/place-goose-creek.json +65 -9
- package/data/sc/local/place-greenville.json +65 -9
- package/data/sc/local/place-greenwood.json +65 -9
- package/data/sc/local/place-hampton.json +47 -7
- package/data/sc/local/place-hilton-head.json +65 -9
- package/data/sc/local/place-kingstree.json +65 -9
- package/data/sc/local/place-lancaster.json +65 -9
- package/data/sc/local/place-lexington.json +65 -9
- package/data/sc/local/place-manning.json +65 -9
- package/data/sc/local/place-marion.json +65 -9
- package/data/sc/local/place-mccormick.json +65 -9
- package/data/sc/local/place-moncks-corner.json +65 -9
- package/data/sc/local/place-mount-pleasant.json +83 -11
- package/data/sc/local/place-myrtle-beach.json +65 -9
- package/data/sc/local/place-newberry.json +65 -9
- package/data/sc/local/place-north-charleston.json +142 -46
- package/data/sc/local/place-orangeburg.json +65 -9
- package/data/sc/local/place-ridgeland.json +47 -7
- package/data/sc/local/place-rock-hill.json +65 -9
- package/data/sc/local/place-saluda.json +47 -7
- package/data/sc/local/place-spartanburg.json +65 -9
- package/data/sc/local/place-st-george.json +65 -9
- package/data/sc/local/place-st-matthews.json +65 -9
- package/data/sc/local/place-summerville.json +65 -9
- package/data/sc/local/place-sumter.json +65 -9
- package/data/sc/local/place-union.json +65 -9
- package/data/sc/local/place-walhalla.json +65 -9
- package/data/sc/local/place-walterboro.json +65 -9
- package/data/sc/local/place-winnsboro.json +47 -7
- package/data/sc/state.json +1718 -172
- package/package.json +1 -1
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
"level": "local",
|
|
5
5
|
"jurisdiction": "place:north-charleston",
|
|
6
6
|
"label": "North Charleston City Council",
|
|
7
|
-
"lastUpdated": "2026-
|
|
7
|
+
"lastUpdated": "2026-05-20",
|
|
8
8
|
"adapter": "generic_mailto",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-
|
|
9
|
+
"dataHash": "b094aca44bd7195d",
|
|
10
|
+
"dataLastChanged": "2026-05-20"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -16,79 +16,175 @@
|
|
|
16
16
|
"email": "",
|
|
17
17
|
"phone": "(843) 740-2504",
|
|
18
18
|
"source": "genericmailto",
|
|
19
|
-
"lastUpdated": "2026-
|
|
19
|
+
"lastUpdated": "2026-05-20",
|
|
20
|
+
"vacant": false,
|
|
21
|
+
"office": "mayor",
|
|
22
|
+
"leadership": null,
|
|
23
|
+
"seatClass": "at-large",
|
|
24
|
+
"seatLabel": null,
|
|
25
|
+
"seatId": null,
|
|
26
|
+
"seatSource": "parsed-title",
|
|
27
|
+
"partisan": false
|
|
20
28
|
},
|
|
21
29
|
{
|
|
22
|
-
"name": "
|
|
23
|
-
"title": "Council Member",
|
|
24
|
-
"email": "
|
|
25
|
-
"phone": "(
|
|
30
|
+
"name": "Greg Perry",
|
|
31
|
+
"title": "Council Member, District 1",
|
|
32
|
+
"email": "gperry@northcharleston.org",
|
|
33
|
+
"phone": "(843) 557-5351",
|
|
26
34
|
"source": "genericmailto",
|
|
27
|
-
"lastUpdated": "2026-
|
|
35
|
+
"lastUpdated": "2026-05-20",
|
|
36
|
+
"vacant": false,
|
|
37
|
+
"office": "council-member",
|
|
38
|
+
"seatClass": "numbered",
|
|
39
|
+
"seatLabel": "district",
|
|
40
|
+
"seatId": "1",
|
|
41
|
+
"seatSource": "parsed-title",
|
|
42
|
+
"leadership": null,
|
|
43
|
+
"partisan": false
|
|
28
44
|
},
|
|
29
45
|
{
|
|
30
|
-
"name": "
|
|
31
|
-
"title": "Council Member",
|
|
32
|
-
"email": "
|
|
33
|
-
"phone": "(843)
|
|
34
|
-
"source": "genericmailto",
|
|
35
|
-
"lastUpdated": "2026-03-14"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"name": "Dr. Charmaine Palmer-Roberts",
|
|
39
|
-
"title": "Council Member",
|
|
40
|
-
"email": "cpalmerroberts@northcharleston.org",
|
|
41
|
-
"phone": "(843) 819-9170",
|
|
46
|
+
"name": "Rhonda Jerome",
|
|
47
|
+
"title": "Council Member, District 2",
|
|
48
|
+
"email": "rjerome@northcharleston.org",
|
|
49
|
+
"phone": "(843) 813-4404",
|
|
42
50
|
"source": "genericmailto",
|
|
43
|
-
"lastUpdated": "2026-
|
|
51
|
+
"lastUpdated": "2026-05-20",
|
|
52
|
+
"vacant": false,
|
|
53
|
+
"office": "council-member",
|
|
54
|
+
"seatClass": "numbered",
|
|
55
|
+
"seatLabel": "district",
|
|
56
|
+
"seatId": "2",
|
|
57
|
+
"seatSource": "parsed-title",
|
|
58
|
+
"leadership": null,
|
|
59
|
+
"partisan": false
|
|
44
60
|
},
|
|
45
61
|
{
|
|
46
62
|
"name": "Dr. Stephanie Ganaway-Pasley",
|
|
47
|
-
"title": "Council Member",
|
|
63
|
+
"title": "Council Member, District 3",
|
|
48
64
|
"email": "sganawaypasley@northcharleston.org",
|
|
49
65
|
"phone": "(843) 270-1961",
|
|
50
66
|
"source": "genericmailto",
|
|
51
|
-
"lastUpdated": "2026-
|
|
67
|
+
"lastUpdated": "2026-05-20",
|
|
68
|
+
"vacant": false,
|
|
69
|
+
"office": "council-member",
|
|
70
|
+
"seatClass": "numbered",
|
|
71
|
+
"seatLabel": "district",
|
|
72
|
+
"seatId": "3",
|
|
73
|
+
"seatSource": "parsed-title",
|
|
74
|
+
"leadership": null,
|
|
75
|
+
"partisan": false
|
|
52
76
|
},
|
|
53
77
|
{
|
|
54
|
-
"name": "
|
|
55
|
-
"title": "Council Member",
|
|
56
|
-
"email": "
|
|
57
|
-
"phone": "(843)
|
|
78
|
+
"name": "Dr. Charmaine Palmer-Roberts",
|
|
79
|
+
"title": "Council Member, District 4",
|
|
80
|
+
"email": "cpalmerroberts@northcharleston.org",
|
|
81
|
+
"phone": "(843) 819-9170",
|
|
58
82
|
"source": "genericmailto",
|
|
59
|
-
"lastUpdated": "2026-
|
|
83
|
+
"lastUpdated": "2026-05-20",
|
|
84
|
+
"vacant": false,
|
|
85
|
+
"office": "council-member",
|
|
86
|
+
"seatClass": "numbered",
|
|
87
|
+
"seatLabel": "district",
|
|
88
|
+
"seatId": "4",
|
|
89
|
+
"seatSource": "parsed-title",
|
|
90
|
+
"leadership": null,
|
|
91
|
+
"partisan": false
|
|
60
92
|
},
|
|
61
93
|
{
|
|
62
|
-
"name": "
|
|
63
|
-
"title": "Council Member",
|
|
64
|
-
"email": "
|
|
65
|
-
"phone": "(843)
|
|
94
|
+
"name": "Christopher Emde",
|
|
95
|
+
"title": "Council Member, District 5",
|
|
96
|
+
"email": "cemde@northcharleston.org",
|
|
97
|
+
"phone": "(843) 751-6214",
|
|
98
|
+
"source": "genericmailto",
|
|
99
|
+
"lastUpdated": "2026-05-20",
|
|
100
|
+
"vacant": false,
|
|
101
|
+
"office": "council-member",
|
|
102
|
+
"seatClass": "numbered",
|
|
103
|
+
"seatLabel": "district",
|
|
104
|
+
"seatId": "5",
|
|
105
|
+
"seatSource": "parsed-title",
|
|
106
|
+
"leadership": null,
|
|
107
|
+
"partisan": false
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "Nefertiti Brown",
|
|
111
|
+
"title": "Council Member, District 6",
|
|
112
|
+
"email": "nbrown@northcharleston.org",
|
|
113
|
+
"phone": "(843) 790-4098",
|
|
66
114
|
"source": "genericmailto",
|
|
67
|
-
"lastUpdated": "2026-
|
|
115
|
+
"lastUpdated": "2026-05-20",
|
|
116
|
+
"vacant": false,
|
|
117
|
+
"office": "council-member",
|
|
118
|
+
"seatClass": "numbered",
|
|
119
|
+
"seatLabel": "district",
|
|
120
|
+
"seatId": "6",
|
|
121
|
+
"seatSource": "parsed-title",
|
|
122
|
+
"leadership": null,
|
|
123
|
+
"partisan": false
|
|
68
124
|
},
|
|
69
125
|
{
|
|
70
126
|
"name": "Michael Brown, Jr.",
|
|
71
|
-
"title": "Council Member",
|
|
127
|
+
"title": "Council Member, District 7",
|
|
72
128
|
"email": "mibrown@northcharleston.org",
|
|
73
129
|
"phone": "(843) 367-3714",
|
|
74
130
|
"source": "genericmailto",
|
|
75
|
-
"lastUpdated": "2026-
|
|
131
|
+
"lastUpdated": "2026-05-20",
|
|
132
|
+
"vacant": false,
|
|
133
|
+
"office": "council-member",
|
|
134
|
+
"seatClass": "numbered",
|
|
135
|
+
"seatLabel": "district",
|
|
136
|
+
"seatId": "7",
|
|
137
|
+
"seatSource": "parsed-title",
|
|
138
|
+
"leadership": null,
|
|
139
|
+
"partisan": false
|
|
76
140
|
},
|
|
77
141
|
{
|
|
78
|
-
"name": "
|
|
79
|
-
"title": "Council Member",
|
|
80
|
-
"email": "
|
|
81
|
-
"phone": "(
|
|
142
|
+
"name": "Brandon Hudson",
|
|
143
|
+
"title": "Council Member, District 8",
|
|
144
|
+
"email": "bhudson@northcharleston.org",
|
|
145
|
+
"phone": "(803) 292-6044",
|
|
82
146
|
"source": "genericmailto",
|
|
83
|
-
"lastUpdated": "2026-
|
|
147
|
+
"lastUpdated": "2026-05-20",
|
|
148
|
+
"vacant": false,
|
|
149
|
+
"office": "council-member",
|
|
150
|
+
"seatClass": "numbered",
|
|
151
|
+
"seatLabel": "district",
|
|
152
|
+
"seatId": "8",
|
|
153
|
+
"seatSource": "parsed-title",
|
|
154
|
+
"leadership": null,
|
|
155
|
+
"partisan": false
|
|
84
156
|
},
|
|
85
157
|
{
|
|
86
|
-
"name": "
|
|
87
|
-
"title": "Council Member",
|
|
88
|
-
"email": "
|
|
89
|
-
"phone": "(843)
|
|
158
|
+
"name": "Kenny Skipper",
|
|
159
|
+
"title": "Council Member, District 9",
|
|
160
|
+
"email": "kskipper@northcharleston.org",
|
|
161
|
+
"phone": "(843) 200-7520",
|
|
162
|
+
"source": "genericmailto",
|
|
163
|
+
"lastUpdated": "2026-05-20",
|
|
164
|
+
"vacant": false,
|
|
165
|
+
"office": "council-member",
|
|
166
|
+
"seatClass": "numbered",
|
|
167
|
+
"seatLabel": "district",
|
|
168
|
+
"seatId": "9",
|
|
169
|
+
"seatSource": "parsed-title",
|
|
170
|
+
"leadership": null,
|
|
171
|
+
"partisan": false
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "Michael Brown",
|
|
175
|
+
"title": "Council Member, District 10",
|
|
176
|
+
"email": "bmichaelchr@aol.com",
|
|
177
|
+
"phone": "(843) 747-3531",
|
|
90
178
|
"source": "genericmailto",
|
|
91
|
-
"lastUpdated": "2026-
|
|
179
|
+
"lastUpdated": "2026-05-20",
|
|
180
|
+
"vacant": false,
|
|
181
|
+
"office": "council-member",
|
|
182
|
+
"seatClass": "numbered",
|
|
183
|
+
"seatLabel": "district",
|
|
184
|
+
"seatId": "10",
|
|
185
|
+
"seatSource": "parsed-title",
|
|
186
|
+
"leadership": null,
|
|
187
|
+
"partisan": false
|
|
92
188
|
}
|
|
93
189
|
]
|
|
94
190
|
}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"label": "Orangeburg City Council",
|
|
7
7
|
"lastUpdated": "2026-03-14",
|
|
8
8
|
"adapter": "orangeburg_city",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-
|
|
9
|
+
"dataHash": "34c757b71e17cf05",
|
|
10
|
+
"dataLastChanged": "2026-05-17"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -16,7 +16,15 @@
|
|
|
16
16
|
"email": "michael.butler@orangeburg.sc.us",
|
|
17
17
|
"phone": "(803) 533-6000",
|
|
18
18
|
"source": "orangeburgcity",
|
|
19
|
-
"lastUpdated": "2026-03-14"
|
|
19
|
+
"lastUpdated": "2026-03-14",
|
|
20
|
+
"vacant": false,
|
|
21
|
+
"office": "mayor",
|
|
22
|
+
"leadership": null,
|
|
23
|
+
"seatClass": "at-large",
|
|
24
|
+
"seatLabel": null,
|
|
25
|
+
"seatId": null,
|
|
26
|
+
"seatSource": "parsed-title",
|
|
27
|
+
"partisan": false
|
|
20
28
|
},
|
|
21
29
|
{
|
|
22
30
|
"name": "Jordan Hawkins",
|
|
@@ -24,7 +32,15 @@
|
|
|
24
32
|
"email": "jordan.hawkins@orangeburg.sc.us",
|
|
25
33
|
"phone": "(803) 937-1593",
|
|
26
34
|
"source": "orangeburgcity",
|
|
27
|
-
"lastUpdated": "2026-03-14"
|
|
35
|
+
"lastUpdated": "2026-03-14",
|
|
36
|
+
"vacant": false,
|
|
37
|
+
"office": "council-member",
|
|
38
|
+
"seatClass": "numbered",
|
|
39
|
+
"seatLabel": "district",
|
|
40
|
+
"seatId": "1",
|
|
41
|
+
"seatSource": "parsed-title",
|
|
42
|
+
"leadership": null,
|
|
43
|
+
"partisan": false
|
|
28
44
|
},
|
|
29
45
|
{
|
|
30
46
|
"name": "Kalu Kalu",
|
|
@@ -32,7 +48,15 @@
|
|
|
32
48
|
"email": "kalu.kalu@orangeburg.sc.us",
|
|
33
49
|
"phone": "(803) 347-4842",
|
|
34
50
|
"source": "orangeburgcity",
|
|
35
|
-
"lastUpdated": "2026-03-14"
|
|
51
|
+
"lastUpdated": "2026-03-14",
|
|
52
|
+
"vacant": false,
|
|
53
|
+
"office": "council-member",
|
|
54
|
+
"seatClass": "numbered",
|
|
55
|
+
"seatLabel": "district",
|
|
56
|
+
"seatId": "2",
|
|
57
|
+
"seatSource": "parsed-title",
|
|
58
|
+
"leadership": null,
|
|
59
|
+
"partisan": false
|
|
36
60
|
},
|
|
37
61
|
{
|
|
38
62
|
"name": "Jerry Hannah",
|
|
@@ -40,7 +64,15 @@
|
|
|
40
64
|
"email": "jerry.hannah@orangeburg.sc.us",
|
|
41
65
|
"phone": "(803) 534-2869",
|
|
42
66
|
"source": "orangeburgcity",
|
|
43
|
-
"lastUpdated": "2026-03-14"
|
|
67
|
+
"lastUpdated": "2026-03-14",
|
|
68
|
+
"vacant": false,
|
|
69
|
+
"office": "council-member",
|
|
70
|
+
"seatClass": "numbered",
|
|
71
|
+
"seatLabel": "district",
|
|
72
|
+
"seatId": "3",
|
|
73
|
+
"seatSource": "parsed-title",
|
|
74
|
+
"leadership": null,
|
|
75
|
+
"partisan": false
|
|
44
76
|
},
|
|
45
77
|
{
|
|
46
78
|
"name": "Annette Dees Grevious",
|
|
@@ -48,7 +80,15 @@
|
|
|
48
80
|
"email": "annette.grevious@orangeburg.sc.us",
|
|
49
81
|
"phone": "(803) 387-5505",
|
|
50
82
|
"source": "orangeburgcity",
|
|
51
|
-
"lastUpdated": "2026-03-14"
|
|
83
|
+
"lastUpdated": "2026-03-14",
|
|
84
|
+
"vacant": false,
|
|
85
|
+
"office": "council-member",
|
|
86
|
+
"seatClass": "numbered",
|
|
87
|
+
"seatLabel": "district",
|
|
88
|
+
"seatId": "4",
|
|
89
|
+
"seatSource": "parsed-title",
|
|
90
|
+
"leadership": null,
|
|
91
|
+
"partisan": false
|
|
52
92
|
},
|
|
53
93
|
{
|
|
54
94
|
"name": "L. Zimmerman Keitt",
|
|
@@ -56,7 +96,15 @@
|
|
|
56
96
|
"email": "liz.keitt@orangeburg.sc.us",
|
|
57
97
|
"phone": "(803) 534-8967",
|
|
58
98
|
"source": "orangeburgcity",
|
|
59
|
-
"lastUpdated": "2026-03-14"
|
|
99
|
+
"lastUpdated": "2026-03-14",
|
|
100
|
+
"vacant": false,
|
|
101
|
+
"office": "council-member",
|
|
102
|
+
"seatClass": "numbered",
|
|
103
|
+
"seatLabel": "district",
|
|
104
|
+
"seatId": "5",
|
|
105
|
+
"seatSource": "parsed-title",
|
|
106
|
+
"leadership": null,
|
|
107
|
+
"partisan": false
|
|
60
108
|
},
|
|
61
109
|
{
|
|
62
110
|
"name": "Sandra Knotts",
|
|
@@ -64,7 +112,15 @@
|
|
|
64
112
|
"email": "sandra.knotts@orangeburg.sc.us",
|
|
65
113
|
"phone": "(803) 534-2160",
|
|
66
114
|
"source": "orangeburgcity",
|
|
67
|
-
"lastUpdated": "2026-03-14"
|
|
115
|
+
"lastUpdated": "2026-03-14",
|
|
116
|
+
"vacant": false,
|
|
117
|
+
"office": "council-member",
|
|
118
|
+
"seatClass": "numbered",
|
|
119
|
+
"seatLabel": "district",
|
|
120
|
+
"seatId": "6",
|
|
121
|
+
"seatSource": "parsed-title",
|
|
122
|
+
"leadership": null,
|
|
123
|
+
"partisan": false
|
|
68
124
|
}
|
|
69
125
|
]
|
|
70
126
|
}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"label": "Ridgeland Town Council",
|
|
7
7
|
"lastUpdated": "2026-03-14",
|
|
8
8
|
"adapter": "generic_mailto",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-
|
|
9
|
+
"dataHash": "3e939749d3c93208",
|
|
10
|
+
"dataLastChanged": "2026-05-17"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -16,7 +16,15 @@
|
|
|
16
16
|
"email": "jnmalphrus@ridgelandsc.gov",
|
|
17
17
|
"phone": "(843) 726-7500",
|
|
18
18
|
"source": "genericmailto",
|
|
19
|
-
"lastUpdated": "2026-03-14"
|
|
19
|
+
"lastUpdated": "2026-03-14",
|
|
20
|
+
"vacant": false,
|
|
21
|
+
"office": "mayor",
|
|
22
|
+
"leadership": null,
|
|
23
|
+
"seatClass": "at-large",
|
|
24
|
+
"seatLabel": null,
|
|
25
|
+
"seatId": null,
|
|
26
|
+
"seatSource": "parsed-title",
|
|
27
|
+
"partisan": false
|
|
20
28
|
},
|
|
21
29
|
{
|
|
22
30
|
"name": "Bill Fishburne",
|
|
@@ -24,7 +32,15 @@
|
|
|
24
32
|
"email": "bfishburne@ridgelandsc.gov",
|
|
25
33
|
"phone": "",
|
|
26
34
|
"source": "genericmailto",
|
|
27
|
-
"lastUpdated": "2026-03-14"
|
|
35
|
+
"lastUpdated": "2026-03-14",
|
|
36
|
+
"vacant": false,
|
|
37
|
+
"office": "council-member",
|
|
38
|
+
"leadership": null,
|
|
39
|
+
"seatClass": "unknown",
|
|
40
|
+
"seatLabel": null,
|
|
41
|
+
"seatId": null,
|
|
42
|
+
"seatSource": "parsed-title",
|
|
43
|
+
"partisan": false
|
|
28
44
|
},
|
|
29
45
|
{
|
|
30
46
|
"name": "LEE GRAMLING",
|
|
@@ -32,7 +48,15 @@
|
|
|
32
48
|
"email": "jgramling@ridgelandsc.gov",
|
|
33
49
|
"phone": "",
|
|
34
50
|
"source": "genericmailto",
|
|
35
|
-
"lastUpdated": "2026-03-14"
|
|
51
|
+
"lastUpdated": "2026-03-14",
|
|
52
|
+
"vacant": false,
|
|
53
|
+
"office": "council-member",
|
|
54
|
+
"leadership": null,
|
|
55
|
+
"seatClass": "unknown",
|
|
56
|
+
"seatLabel": null,
|
|
57
|
+
"seatId": null,
|
|
58
|
+
"seatSource": "parsed-title",
|
|
59
|
+
"partisan": false
|
|
36
60
|
},
|
|
37
61
|
{
|
|
38
62
|
"name": "LINDA TENEROWICZ",
|
|
@@ -40,7 +64,15 @@
|
|
|
40
64
|
"email": "ltenerowicz@ridgelandsc.gov",
|
|
41
65
|
"phone": "",
|
|
42
66
|
"source": "genericmailto",
|
|
43
|
-
"lastUpdated": "2026-03-14"
|
|
67
|
+
"lastUpdated": "2026-03-14",
|
|
68
|
+
"vacant": false,
|
|
69
|
+
"office": "council-member",
|
|
70
|
+
"leadership": null,
|
|
71
|
+
"seatClass": "unknown",
|
|
72
|
+
"seatLabel": null,
|
|
73
|
+
"seatId": null,
|
|
74
|
+
"seatSource": "parsed-title",
|
|
75
|
+
"partisan": false
|
|
44
76
|
},
|
|
45
77
|
{
|
|
46
78
|
"name": "Libby Malphrus",
|
|
@@ -48,7 +80,15 @@
|
|
|
48
80
|
"email": "lmalphrus@ridgelandsc.gov",
|
|
49
81
|
"phone": "",
|
|
50
82
|
"source": "genericmailto",
|
|
51
|
-
"lastUpdated": "2026-03-14"
|
|
83
|
+
"lastUpdated": "2026-03-14",
|
|
84
|
+
"vacant": false,
|
|
85
|
+
"office": "council-member",
|
|
86
|
+
"leadership": null,
|
|
87
|
+
"seatClass": "unknown",
|
|
88
|
+
"seatLabel": null,
|
|
89
|
+
"seatId": null,
|
|
90
|
+
"seatSource": "parsed-title",
|
|
91
|
+
"partisan": false
|
|
52
92
|
}
|
|
53
93
|
]
|
|
54
94
|
}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"label": "Rock Hill City Council",
|
|
7
7
|
"lastUpdated": "2026-03-14",
|
|
8
8
|
"adapter": "rock_hill",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-
|
|
9
|
+
"dataHash": "29fb98d7d861caa7",
|
|
10
|
+
"dataLastChanged": "2026-05-17"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -16,7 +16,15 @@
|
|
|
16
16
|
"email": "John.Gettys@cityofrockhill.com",
|
|
17
17
|
"phone": "(803) 329-7011",
|
|
18
18
|
"source": "rockhill",
|
|
19
|
-
"lastUpdated": "2026-03-14"
|
|
19
|
+
"lastUpdated": "2026-03-14",
|
|
20
|
+
"vacant": false,
|
|
21
|
+
"office": "mayor",
|
|
22
|
+
"leadership": null,
|
|
23
|
+
"seatClass": "at-large",
|
|
24
|
+
"seatLabel": null,
|
|
25
|
+
"seatId": null,
|
|
26
|
+
"seatSource": "parsed-title",
|
|
27
|
+
"partisan": false
|
|
20
28
|
},
|
|
21
29
|
{
|
|
22
30
|
"name": "Derrick Lindsay",
|
|
@@ -24,7 +32,15 @@
|
|
|
24
32
|
"email": "Derrick.Lindsay@cityofrockhill.com",
|
|
25
33
|
"phone": "",
|
|
26
34
|
"source": "rockhill",
|
|
27
|
-
"lastUpdated": "2026-03-14"
|
|
35
|
+
"lastUpdated": "2026-03-14",
|
|
36
|
+
"vacant": false,
|
|
37
|
+
"office": "council-member",
|
|
38
|
+
"leadership": "mayor-pro-tem",
|
|
39
|
+
"seatClass": "numbered",
|
|
40
|
+
"seatLabel": "ward",
|
|
41
|
+
"seatId": "1",
|
|
42
|
+
"seatSource": "parsed-title",
|
|
43
|
+
"partisan": false
|
|
28
44
|
},
|
|
29
45
|
{
|
|
30
46
|
"name": "Brent Faulkenberry",
|
|
@@ -32,7 +48,15 @@
|
|
|
32
48
|
"email": "brent.faulkenberry@cityofrockhill.com",
|
|
33
49
|
"phone": "(803) 329-7012",
|
|
34
50
|
"source": "rockhill",
|
|
35
|
-
"lastUpdated": "2026-03-14"
|
|
51
|
+
"lastUpdated": "2026-03-14",
|
|
52
|
+
"vacant": false,
|
|
53
|
+
"office": "council-member",
|
|
54
|
+
"seatClass": "numbered",
|
|
55
|
+
"seatLabel": "ward",
|
|
56
|
+
"seatId": "2",
|
|
57
|
+
"seatSource": "parsed-title",
|
|
58
|
+
"leadership": null,
|
|
59
|
+
"partisan": false
|
|
36
60
|
},
|
|
37
61
|
{
|
|
38
62
|
"name": "Kevin Sutton",
|
|
@@ -40,7 +64,15 @@
|
|
|
40
64
|
"email": "Kevin.Sutton@cityofrockhill.com",
|
|
41
65
|
"phone": "(803) 328-1428",
|
|
42
66
|
"source": "rockhill",
|
|
43
|
-
"lastUpdated": "2026-03-14"
|
|
67
|
+
"lastUpdated": "2026-03-14",
|
|
68
|
+
"vacant": false,
|
|
69
|
+
"office": "council-member",
|
|
70
|
+
"seatClass": "numbered",
|
|
71
|
+
"seatLabel": "ward",
|
|
72
|
+
"seatId": "3",
|
|
73
|
+
"seatSource": "parsed-title",
|
|
74
|
+
"leadership": null,
|
|
75
|
+
"partisan": false
|
|
44
76
|
},
|
|
45
77
|
{
|
|
46
78
|
"name": "John A. Black III",
|
|
@@ -48,7 +80,15 @@
|
|
|
48
80
|
"email": "John.Black@cityofrockhill.com",
|
|
49
81
|
"phone": "(803) 517-9969",
|
|
50
82
|
"source": "rockhill",
|
|
51
|
-
"lastUpdated": "2026-03-14"
|
|
83
|
+
"lastUpdated": "2026-03-14",
|
|
84
|
+
"vacant": false,
|
|
85
|
+
"office": "council-member",
|
|
86
|
+
"seatClass": "numbered",
|
|
87
|
+
"seatLabel": "ward",
|
|
88
|
+
"seatId": "4",
|
|
89
|
+
"seatSource": "parsed-title",
|
|
90
|
+
"leadership": null,
|
|
91
|
+
"partisan": false
|
|
52
92
|
},
|
|
53
93
|
{
|
|
54
94
|
"name": "Nikita L. Jackson",
|
|
@@ -56,7 +96,15 @@
|
|
|
56
96
|
"email": "Nikita.Jackson@cityofrockhill.com",
|
|
57
97
|
"phone": "(839) 214-7517",
|
|
58
98
|
"source": "rockhill",
|
|
59
|
-
"lastUpdated": "2026-03-14"
|
|
99
|
+
"lastUpdated": "2026-03-14",
|
|
100
|
+
"vacant": false,
|
|
101
|
+
"office": "council-member",
|
|
102
|
+
"seatClass": "numbered",
|
|
103
|
+
"seatLabel": "ward",
|
|
104
|
+
"seatId": "5",
|
|
105
|
+
"seatSource": "parsed-title",
|
|
106
|
+
"leadership": null,
|
|
107
|
+
"partisan": false
|
|
60
108
|
},
|
|
61
109
|
{
|
|
62
110
|
"name": "Sarah Vining",
|
|
@@ -64,7 +112,15 @@
|
|
|
64
112
|
"email": "Sarah.Vining@cityofrockhill.com",
|
|
65
113
|
"phone": "(803) 329-7012",
|
|
66
114
|
"source": "rockhill",
|
|
67
|
-
"lastUpdated": "2026-03-14"
|
|
115
|
+
"lastUpdated": "2026-03-14",
|
|
116
|
+
"vacant": false,
|
|
117
|
+
"office": "council-member",
|
|
118
|
+
"seatClass": "numbered",
|
|
119
|
+
"seatLabel": "ward",
|
|
120
|
+
"seatId": "6",
|
|
121
|
+
"seatSource": "parsed-title",
|
|
122
|
+
"leadership": null,
|
|
123
|
+
"partisan": false
|
|
68
124
|
}
|
|
69
125
|
]
|
|
70
126
|
}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"label": "Saluda Town Council",
|
|
7
7
|
"lastUpdated": "2026-03-14",
|
|
8
8
|
"adapter": "masc",
|
|
9
|
-
"dataHash": "
|
|
10
|
-
"dataLastChanged": "2026-
|
|
9
|
+
"dataHash": "3575af4b9ec0e88f",
|
|
10
|
+
"dataLastChanged": "2026-05-17"
|
|
11
11
|
},
|
|
12
12
|
"members": [
|
|
13
13
|
{
|
|
@@ -16,7 +16,15 @@
|
|
|
16
16
|
"email": "",
|
|
17
17
|
"phone": "",
|
|
18
18
|
"source": "masc",
|
|
19
|
-
"lastUpdated": "2026-03-14"
|
|
19
|
+
"lastUpdated": "2026-03-14",
|
|
20
|
+
"vacant": false,
|
|
21
|
+
"office": "mayor",
|
|
22
|
+
"leadership": null,
|
|
23
|
+
"seatClass": "at-large",
|
|
24
|
+
"seatLabel": null,
|
|
25
|
+
"seatId": null,
|
|
26
|
+
"seatSource": "parsed-title",
|
|
27
|
+
"partisan": false
|
|
20
28
|
},
|
|
21
29
|
{
|
|
22
30
|
"name": "John Mark Griffith",
|
|
@@ -24,7 +32,15 @@
|
|
|
24
32
|
"email": "",
|
|
25
33
|
"phone": "",
|
|
26
34
|
"source": "masc",
|
|
27
|
-
"lastUpdated": "2026-03-14"
|
|
35
|
+
"lastUpdated": "2026-03-14",
|
|
36
|
+
"vacant": false,
|
|
37
|
+
"office": "council-member",
|
|
38
|
+
"leadership": null,
|
|
39
|
+
"seatClass": "unknown",
|
|
40
|
+
"seatLabel": null,
|
|
41
|
+
"seatId": null,
|
|
42
|
+
"seatSource": "parsed-title",
|
|
43
|
+
"partisan": false
|
|
28
44
|
},
|
|
29
45
|
{
|
|
30
46
|
"name": "Lauren Yonce",
|
|
@@ -32,7 +48,15 @@
|
|
|
32
48
|
"email": "",
|
|
33
49
|
"phone": "",
|
|
34
50
|
"source": "masc",
|
|
35
|
-
"lastUpdated": "2026-03-14"
|
|
51
|
+
"lastUpdated": "2026-03-14",
|
|
52
|
+
"vacant": false,
|
|
53
|
+
"office": "council-member",
|
|
54
|
+
"leadership": null,
|
|
55
|
+
"seatClass": "unknown",
|
|
56
|
+
"seatLabel": null,
|
|
57
|
+
"seatId": null,
|
|
58
|
+
"seatSource": "parsed-title",
|
|
59
|
+
"partisan": false
|
|
36
60
|
},
|
|
37
61
|
{
|
|
38
62
|
"name": "Myranda Butler",
|
|
@@ -40,7 +64,15 @@
|
|
|
40
64
|
"email": "",
|
|
41
65
|
"phone": "",
|
|
42
66
|
"source": "masc",
|
|
43
|
-
"lastUpdated": "2026-03-14"
|
|
67
|
+
"lastUpdated": "2026-03-14",
|
|
68
|
+
"vacant": false,
|
|
69
|
+
"office": "council-member",
|
|
70
|
+
"leadership": null,
|
|
71
|
+
"seatClass": "unknown",
|
|
72
|
+
"seatLabel": null,
|
|
73
|
+
"seatId": null,
|
|
74
|
+
"seatSource": "parsed-title",
|
|
75
|
+
"partisan": false
|
|
44
76
|
},
|
|
45
77
|
{
|
|
46
78
|
"name": "Obie Combs",
|
|
@@ -48,7 +80,15 @@
|
|
|
48
80
|
"email": "",
|
|
49
81
|
"phone": "",
|
|
50
82
|
"source": "masc",
|
|
51
|
-
"lastUpdated": "2026-03-14"
|
|
83
|
+
"lastUpdated": "2026-03-14",
|
|
84
|
+
"vacant": false,
|
|
85
|
+
"office": "council-member",
|
|
86
|
+
"leadership": null,
|
|
87
|
+
"seatClass": "unknown",
|
|
88
|
+
"seatLabel": null,
|
|
89
|
+
"seatId": null,
|
|
90
|
+
"seatSource": "parsed-title",
|
|
91
|
+
"partisan": false
|
|
52
92
|
}
|
|
53
93
|
]
|
|
54
94
|
}
|