open-civics 0.2.1 → 0.2.3

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.
Files changed (91) hide show
  1. package/data/sc/local/county-abbeville.json +9 -9
  2. package/data/sc/local/county-aiken.json +52 -52
  3. package/data/sc/local/county-allendale.json +8 -8
  4. package/data/sc/local/county-anderson.json +10 -10
  5. package/data/sc/local/county-bamberg.json +10 -10
  6. package/data/sc/local/county-barnwell.json +10 -10
  7. package/data/sc/local/county-beaufort.json +14 -14
  8. package/data/sc/local/county-berkeley.json +78 -78
  9. package/data/sc/local/county-calhoun.json +8 -8
  10. package/data/sc/local/county-charleston.json +44 -12
  11. package/data/sc/local/county-cherokee.json +26 -10
  12. package/data/sc/local/county-chester.json +10 -10
  13. package/data/sc/local/county-chesterfield.json +12 -12
  14. package/data/sc/local/county-clarendon.json +7 -7
  15. package/data/sc/local/county-colleton.json +8 -8
  16. package/data/sc/local/county-darlington.json +11 -11
  17. package/data/sc/local/county-dillon.json +10 -10
  18. package/data/sc/local/county-dorchester.json +49 -33
  19. package/data/sc/local/county-fairfield.json +10 -10
  20. package/data/sc/local/county-florence.json +18 -18
  21. package/data/sc/local/county-georgetown.json +10 -10
  22. package/data/sc/local/county-greenville.json +15 -15
  23. package/data/sc/local/county-greenwood.json +10 -10
  24. package/data/sc/local/county-hampton.json +8 -8
  25. package/data/sc/local/county-jasper.json +20 -20
  26. package/data/sc/local/county-kershaw.json +28 -28
  27. package/data/sc/local/county-lancaster.json +10 -10
  28. package/data/sc/local/county-laurens.json +10 -10
  29. package/data/sc/local/county-lee.json +11 -11
  30. package/data/sc/local/county-lexington.json +12 -12
  31. package/data/sc/local/county-marion.json +10 -10
  32. package/data/sc/local/county-marlboro.json +11 -11
  33. package/data/sc/local/county-mccormick.json +8 -8
  34. package/data/sc/local/county-newberry.json +11 -11
  35. package/data/sc/local/county-oconee.json +8 -8
  36. package/data/sc/local/county-orangeburg.json +7 -7
  37. package/data/sc/local/county-pickens.json +10 -10
  38. package/data/sc/local/county-richland.json +14 -14
  39. package/data/sc/local/county-saluda.json +8 -8
  40. package/data/sc/local/county-spartanburg.json +17 -17
  41. package/data/sc/local/county-sumter.json +10 -10
  42. package/data/sc/local/county-union.json +9 -9
  43. package/data/sc/local/county-williamsburg.json +10 -10
  44. package/data/sc/local/county-york.json +10 -10
  45. package/data/sc/local/place-abbeville.json +11 -27
  46. package/data/sc/local/place-aiken.json +62 -62
  47. package/data/sc/local/place-anderson.json +27 -11
  48. package/data/sc/local/place-bamberg.json +9 -9
  49. package/data/sc/local/place-barnwell.json +10 -10
  50. package/data/sc/local/place-beaufort.json +8 -8
  51. package/data/sc/local/place-bennettsville.json +12 -12
  52. package/data/sc/local/place-bishopville.json +10 -10
  53. package/data/sc/local/place-camden.json +9 -9
  54. package/data/sc/local/place-charleston.json +14 -14
  55. package/data/sc/local/place-chester.json +12 -12
  56. package/data/sc/local/place-chesterfield.json +10 -10
  57. package/data/sc/local/place-columbia.json +10 -10
  58. package/data/sc/local/place-conway.json +10 -10
  59. package/data/sc/local/place-dillon.json +10 -10
  60. package/data/sc/local/place-edgefield.json +14 -14
  61. package/data/sc/local/place-florence.json +10 -10
  62. package/data/sc/local/place-gaffney.json +25 -9
  63. package/data/sc/local/place-georgetown.json +10 -10
  64. package/data/sc/local/place-greenville.json +10 -10
  65. package/data/sc/local/place-greenwood.json +10 -10
  66. package/data/sc/local/place-hampton.json +10 -10
  67. package/data/sc/local/place-hilton-head.json +10 -10
  68. package/data/sc/local/place-kingstree.json +10 -10
  69. package/data/sc/local/place-lancaster.json +12 -12
  70. package/data/sc/local/place-lexington.json +10 -10
  71. package/data/sc/local/place-manning.json +10 -10
  72. package/data/sc/local/place-marion.json +10 -10
  73. package/data/sc/local/place-mccormick.json +10 -10
  74. package/data/sc/local/place-mount-pleasant.json +12 -12
  75. package/data/sc/local/place-myrtle-beach.json +10 -10
  76. package/data/sc/local/place-newberry.json +10 -10
  77. package/data/sc/local/place-north-charleston.json +97 -81
  78. package/data/sc/local/place-orangeburg.json +11 -11
  79. package/data/sc/local/place-ridgeland.json +9 -9
  80. package/data/sc/local/place-rock-hill.json +14 -14
  81. package/data/sc/local/place-saluda.json +8 -8
  82. package/data/sc/local/place-spartanburg.json +10 -10
  83. package/data/sc/local/place-st-george.json +10 -10
  84. package/data/sc/local/place-st-matthews.json +10 -10
  85. package/data/sc/local/place-summerville.json +10 -10
  86. package/data/sc/local/place-sumter.json +10 -10
  87. package/data/sc/local/place-union.json +10 -10
  88. package/data/sc/local/place-walhalla.json +10 -10
  89. package/data/sc/local/place-walterboro.json +10 -10
  90. package/data/sc/local/place-winnsboro.json +8 -8
  91. package/package.json +1 -1
@@ -4,10 +4,10 @@
4
4
  "level": "local",
5
5
  "jurisdiction": "county:williamsburg",
6
6
  "label": "Williamsburg County Council",
7
- "lastUpdated": "2026-03-14",
7
+ "lastUpdated": "2026-06-09",
8
8
  "adapter": "civicplus",
9
- "dataHash": "150edddad7eea9dd",
10
- "dataLastChanged": "2026-05-17"
9
+ "dataHash": "14b0a6d0e847a62b",
10
+ "dataLastChanged": "2026-06-09"
11
11
  },
12
12
  "members": [
13
13
  {
@@ -16,7 +16,7 @@
16
16
  "email": "joseph.lee@wc.sc.gov",
17
17
  "phone": "(843) 355-9321",
18
18
  "source": "civicplus",
19
- "lastUpdated": "2026-03-14",
19
+ "lastUpdated": "2026-06-09",
20
20
  "vacant": false,
21
21
  "office": "council-member",
22
22
  "seatClass": "numbered",
@@ -32,7 +32,7 @@
32
32
  "email": "torrance.wilson@wc.sc.gov",
33
33
  "phone": "(843) 355-9321",
34
34
  "source": "civicplus",
35
- "lastUpdated": "2026-03-14",
35
+ "lastUpdated": "2026-06-09",
36
36
  "vacant": false,
37
37
  "office": "council-member",
38
38
  "seatClass": "numbered",
@@ -48,7 +48,7 @@
48
48
  "email": "Randall.Nesmith@wc.sc.gov",
49
49
  "phone": "(843) 355-9321",
50
50
  "source": "civicplus",
51
- "lastUpdated": "2026-03-14",
51
+ "lastUpdated": "2026-06-09",
52
52
  "vacant": false,
53
53
  "office": "council-member",
54
54
  "seatClass": "numbered",
@@ -64,7 +64,7 @@
64
64
  "email": "gakeels@wc.sc.gov",
65
65
  "phone": "(843) 355-9321",
66
66
  "source": "civicplus",
67
- "lastUpdated": "2026-03-14",
67
+ "lastUpdated": "2026-06-09",
68
68
  "vacant": false,
69
69
  "office": "council-member",
70
70
  "seatClass": "numbered",
@@ -80,7 +80,7 @@
80
80
  "email": "paul.mcknight@wc.sc.gov",
81
81
  "phone": "(843) 355-9321",
82
82
  "source": "civicplus",
83
- "lastUpdated": "2026-03-14",
83
+ "lastUpdated": "2026-06-09",
84
84
  "vacant": false,
85
85
  "office": "council-member",
86
86
  "seatClass": "numbered",
@@ -96,7 +96,7 @@
96
96
  "email": "sam.floyd@wc.sc.gov",
97
97
  "phone": "(843) 355-9321",
98
98
  "source": "civicplus",
99
- "lastUpdated": "2026-03-14",
99
+ "lastUpdated": "2026-06-09",
100
100
  "vacant": false,
101
101
  "office": "council-member",
102
102
  "seatClass": "numbered",
@@ -112,7 +112,7 @@
112
112
  "email": "jhailes@wc.sc.gov",
113
113
  "phone": "(843) 355-9321",
114
114
  "source": "civicplus",
115
- "lastUpdated": "2026-03-14",
115
+ "lastUpdated": "2026-06-09",
116
116
  "vacant": false,
117
117
  "office": "council-member",
118
118
  "seatClass": "numbered",
@@ -4,10 +4,10 @@
4
4
  "level": "local",
5
5
  "jurisdiction": "county:york",
6
6
  "label": "York County Council",
7
- "lastUpdated": "2026-03-14",
7
+ "lastUpdated": "2026-06-09",
8
8
  "adapter": "york_county",
9
- "dataHash": "0a5f928d9b418e61",
10
- "dataLastChanged": "2026-05-17"
9
+ "dataHash": "dcdf9e8293bf0531",
10
+ "dataLastChanged": "2026-06-09"
11
11
  },
12
12
  "members": [
13
13
  {
@@ -16,7 +16,7 @@
16
16
  "email": "",
17
17
  "phone": "(704) 408-6155",
18
18
  "source": "yorkcounty",
19
- "lastUpdated": "2026-03-14",
19
+ "lastUpdated": "2026-06-09",
20
20
  "vacant": false,
21
21
  "office": "council-member",
22
22
  "leadership": "vice-chair",
@@ -32,7 +32,7 @@
32
32
  "email": "",
33
33
  "phone": "",
34
34
  "source": "yorkcounty",
35
- "lastUpdated": "2026-03-14",
35
+ "lastUpdated": "2026-06-09",
36
36
  "vacant": false,
37
37
  "office": "council-member",
38
38
  "seatClass": "numbered",
@@ -48,7 +48,7 @@
48
48
  "email": "",
49
49
  "phone": "(803) 628-8328",
50
50
  "source": "yorkcounty",
51
- "lastUpdated": "2026-03-14",
51
+ "lastUpdated": "2026-06-09",
52
52
  "vacant": false,
53
53
  "office": "council-member",
54
54
  "seatClass": "numbered",
@@ -64,7 +64,7 @@
64
64
  "email": "",
65
65
  "phone": "(803) 984-8033",
66
66
  "source": "yorkcounty",
67
- "lastUpdated": "2026-03-14",
67
+ "lastUpdated": "2026-06-09",
68
68
  "vacant": false,
69
69
  "office": "council-member",
70
70
  "seatClass": "numbered",
@@ -80,7 +80,7 @@
80
80
  "email": "",
81
81
  "phone": "(803) 630-9526",
82
82
  "source": "yorkcounty",
83
- "lastUpdated": "2026-03-14",
83
+ "lastUpdated": "2026-06-09",
84
84
  "vacant": false,
85
85
  "office": "council-member",
86
86
  "leadership": "chair",
@@ -96,7 +96,7 @@
96
96
  "email": "",
97
97
  "phone": "",
98
98
  "source": "yorkcounty",
99
- "lastUpdated": "2026-03-14",
99
+ "lastUpdated": "2026-06-09",
100
100
  "vacant": false,
101
101
  "office": "council-member",
102
102
  "seatClass": "numbered",
@@ -112,7 +112,7 @@
112
112
  "email": "",
113
113
  "phone": "(803) 965-8393",
114
114
  "source": "yorkcounty",
115
- "lastUpdated": "2026-03-14",
115
+ "lastUpdated": "2026-06-09",
116
116
  "vacant": false,
117
117
  "office": "council-member",
118
118
  "seatClass": "numbered",
@@ -4,35 +4,19 @@
4
4
  "level": "local",
5
5
  "jurisdiction": "place:abbeville",
6
6
  "label": "Abbeville City Council",
7
- "lastUpdated": "2026-03-14",
7
+ "lastUpdated": "2026-06-09",
8
8
  "adapter": "abbeville_city",
9
- "dataHash": "13d44585dfd758bb",
10
- "dataLastChanged": "2026-05-17"
9
+ "dataHash": "4896709a540637f6",
10
+ "dataLastChanged": "2026-06-09"
11
11
  },
12
12
  "members": [
13
- {
14
- "name": "Trey Edwards",
15
- "title": "Mayor",
16
- "email": "tedwards@abbevillecitysc.com",
17
- "phone": "(864) 366-5017",
18
- "source": "abbeville",
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
28
- },
29
13
  {
30
14
  "name": "Stanley Marshall",
31
15
  "title": "Council Member, District 1",
32
16
  "email": "",
33
17
  "phone": "",
34
18
  "source": "abbeville",
35
- "lastUpdated": "2026-03-14",
19
+ "lastUpdated": "2026-06-09",
36
20
  "vacant": false,
37
21
  "office": "council-member",
38
22
  "seatClass": "numbered",
@@ -48,7 +32,7 @@
48
32
  "email": "",
49
33
  "phone": "",
50
34
  "source": "abbeville",
51
- "lastUpdated": "2026-03-14",
35
+ "lastUpdated": "2026-06-09",
52
36
  "vacant": false,
53
37
  "office": "council-member",
54
38
  "seatClass": "numbered",
@@ -64,7 +48,7 @@
64
48
  "email": "",
65
49
  "phone": "",
66
50
  "source": "abbeville",
67
- "lastUpdated": "2026-03-14",
51
+ "lastUpdated": "2026-06-09",
68
52
  "vacant": false,
69
53
  "office": "council-member",
70
54
  "seatClass": "numbered",
@@ -80,7 +64,7 @@
80
64
  "email": "",
81
65
  "phone": "",
82
66
  "source": "abbeville",
83
- "lastUpdated": "2026-03-14",
67
+ "lastUpdated": "2026-06-09",
84
68
  "vacant": false,
85
69
  "office": "council-member",
86
70
  "seatClass": "numbered",
@@ -96,7 +80,7 @@
96
80
  "email": "",
97
81
  "phone": "",
98
82
  "source": "abbeville",
99
- "lastUpdated": "2026-03-14",
83
+ "lastUpdated": "2026-06-09",
100
84
  "vacant": false,
101
85
  "office": "council-member",
102
86
  "seatClass": "numbered",
@@ -112,7 +96,7 @@
112
96
  "email": "",
113
97
  "phone": "",
114
98
  "source": "abbeville",
115
- "lastUpdated": "2026-03-14",
99
+ "lastUpdated": "2026-06-09",
116
100
  "vacant": false,
117
101
  "office": "council-member",
118
102
  "seatClass": "numbered",
@@ -128,7 +112,7 @@
128
112
  "email": "bengreeson@gmail.com",
129
113
  "phone": "",
130
114
  "source": "abbeville",
131
- "lastUpdated": "2026-03-14",
115
+ "lastUpdated": "2026-06-09",
132
116
  "vacant": false,
133
117
  "office": "council-member",
134
118
  "seatClass": "numbered",
@@ -144,7 +128,7 @@
144
128
  "email": "mhgambrellsc@gmail.com",
145
129
  "phone": "378-0488",
146
130
  "source": "abbeville",
147
- "lastUpdated": "2026-03-14",
131
+ "lastUpdated": "2026-06-09",
148
132
  "vacant": false,
149
133
  "office": "council-member",
150
134
  "seatClass": "numbered",
@@ -4,19 +4,19 @@
4
4
  "level": "local",
5
5
  "jurisdiction": "place:aiken",
6
6
  "label": "Aiken City Council",
7
- "lastUpdated": "2026-03-14",
8
- "adapter": "masc",
9
- "dataHash": "9fba9371680d7e2e",
10
- "dataLastChanged": "2026-05-17"
7
+ "lastUpdated": "2026-06-09",
8
+ "adapter": "aiken_city",
9
+ "dataHash": "f23074b32aec277f",
10
+ "dataLastChanged": "2026-06-09"
11
11
  },
12
12
  "members": [
13
13
  {
14
- "name": "Teddy W. Milner",
14
+ "name": "Teddy Milner",
15
15
  "title": "Mayor",
16
16
  "email": "",
17
- "phone": "",
18
- "source": "masc",
19
- "lastUpdated": "2026-03-14",
17
+ "phone": "(803) 295-2850",
18
+ "source": "aikencity",
19
+ "lastUpdated": "2026-06-09",
20
20
  "vacant": false,
21
21
  "office": "mayor",
22
22
  "leadership": null,
@@ -27,99 +27,99 @@
27
27
  "partisan": false
28
28
  },
29
29
  {
30
- "name": "Barbara Ruth Morgan",
31
- "title": "Council Member",
30
+ "name": "Gail Diggs",
31
+ "title": "Council Member District 1",
32
32
  "email": "",
33
- "phone": "",
34
- "source": "masc",
35
- "lastUpdated": "2026-03-14",
33
+ "phone": "(803) 293-6704",
34
+ "source": "aikencity",
35
+ "lastUpdated": "2026-06-09",
36
36
  "vacant": false,
37
37
  "office": "council-member",
38
- "leadership": null,
39
- "seatClass": "unknown",
40
- "seatLabel": null,
41
- "seatId": null,
38
+ "seatClass": "numbered",
39
+ "seatLabel": "district",
40
+ "seatId": "1",
42
41
  "seatSource": "parsed-title",
42
+ "leadership": null,
43
43
  "partisan": false
44
44
  },
45
45
  {
46
- "name": "Braylen Waldo",
47
- "title": "Council Member",
46
+ "name": "Lessie Price",
47
+ "title": "Council Member District 2",
48
48
  "email": "",
49
- "phone": "",
50
- "source": "masc",
51
- "lastUpdated": "2026-03-14",
49
+ "phone": "(803) 439-8292",
50
+ "source": "aikencity",
51
+ "lastUpdated": "2026-06-09",
52
52
  "vacant": false,
53
53
  "office": "council-member",
54
- "leadership": null,
55
- "seatClass": "unknown",
56
- "seatLabel": null,
57
- "seatId": null,
54
+ "seatClass": "numbered",
55
+ "seatLabel": "district",
56
+ "seatId": "2",
58
57
  "seatSource": "parsed-title",
58
+ "leadership": null,
59
59
  "partisan": false
60
60
  },
61
61
  {
62
- "name": "Gail Bush Diggs",
63
- "title": "Council Member",
62
+ "name": "Kay Brohl",
63
+ "title": "Council Member District 3",
64
64
  "email": "",
65
- "phone": "",
66
- "source": "masc",
67
- "lastUpdated": "2026-03-14",
65
+ "phone": "(803) 642-8386",
66
+ "source": "aikencity",
67
+ "lastUpdated": "2026-06-09",
68
68
  "vacant": false,
69
69
  "office": "council-member",
70
- "leadership": null,
71
- "seatClass": "unknown",
72
- "seatLabel": null,
73
- "seatId": null,
70
+ "seatClass": "numbered",
71
+ "seatLabel": "district",
72
+ "seatId": "3",
74
73
  "seatSource": "parsed-title",
74
+ "leadership": null,
75
75
  "partisan": false
76
76
  },
77
77
  {
78
- "name": "Kay Biermann Brohl",
79
- "title": "Council Member",
78
+ "name": "Pete Messina",
79
+ "title": "Council Member District 4",
80
80
  "email": "",
81
- "phone": "",
82
- "source": "masc",
83
- "lastUpdated": "2026-03-14",
81
+ "phone": "(803) 642-7654",
82
+ "source": "aikencity",
83
+ "lastUpdated": "2026-06-09",
84
84
  "vacant": false,
85
85
  "office": "council-member",
86
- "leadership": null,
87
- "seatClass": "unknown",
88
- "seatLabel": null,
89
- "seatId": null,
86
+ "seatClass": "numbered",
87
+ "seatLabel": "district",
88
+ "seatId": "4",
90
89
  "seatSource": "parsed-title",
90
+ "leadership": null,
91
91
  "partisan": false
92
92
  },
93
93
  {
94
- "name": "Lessie B. Price",
95
- "title": "Council Member",
94
+ "name": "Braylen D. Waldo",
95
+ "title": "Council Member District 5",
96
96
  "email": "",
97
- "phone": "",
98
- "source": "masc",
99
- "lastUpdated": "2026-03-14",
97
+ "phone": "(803) 642-7654",
98
+ "source": "aikencity",
99
+ "lastUpdated": "2026-06-09",
100
100
  "vacant": false,
101
101
  "office": "council-member",
102
- "leadership": null,
103
- "seatClass": "unknown",
104
- "seatLabel": null,
105
- "seatId": null,
102
+ "seatClass": "numbered",
103
+ "seatLabel": "district",
104
+ "seatId": "5",
106
105
  "seatSource": "parsed-title",
106
+ "leadership": null,
107
107
  "partisan": false
108
108
  },
109
109
  {
110
- "name": "Peter Messina",
111
- "title": "Council Member",
110
+ "name": "Barbara Morgan",
111
+ "title": "Council Member District 6",
112
112
  "email": "",
113
- "phone": "",
114
- "source": "masc",
115
- "lastUpdated": "2026-03-14",
113
+ "phone": "(803) 642-7654",
114
+ "source": "aikencity",
115
+ "lastUpdated": "2026-06-09",
116
116
  "vacant": false,
117
117
  "office": "council-member",
118
- "leadership": null,
119
- "seatClass": "unknown",
120
- "seatLabel": null,
121
- "seatId": null,
118
+ "seatClass": "numbered",
119
+ "seatLabel": "district",
120
+ "seatId": "6",
122
121
  "seatSource": "parsed-title",
122
+ "leadership": null,
123
123
  "partisan": false
124
124
  }
125
125
  ]
@@ -4,10 +4,10 @@
4
4
  "level": "local",
5
5
  "jurisdiction": "place:anderson",
6
6
  "label": "Anderson City Council",
7
- "lastUpdated": "2026-03-14",
7
+ "lastUpdated": "2026-06-09",
8
8
  "adapter": "anderson_city",
9
- "dataHash": "0f9986d96bbf68c3",
10
- "dataLastChanged": "2026-05-17"
9
+ "dataHash": "93628e95424a7150",
10
+ "dataLastChanged": "2026-06-09"
11
11
  },
12
12
  "members": [
13
13
  {
@@ -16,7 +16,7 @@
16
16
  "email": "troberts@cityofandersonsc.com",
17
17
  "phone": "",
18
18
  "source": "andersoncity",
19
- "lastUpdated": "2026-03-14",
19
+ "lastUpdated": "2026-06-09",
20
20
  "vacant": false,
21
21
  "office": "mayor",
22
22
  "leadership": null,
@@ -32,7 +32,7 @@
32
32
  "email": "jeffroberts@cityofandersonsc.com",
33
33
  "phone": "(864) 226-8837",
34
34
  "source": "andersoncity",
35
- "lastUpdated": "2026-03-14",
35
+ "lastUpdated": "2026-06-09",
36
36
  "vacant": false,
37
37
  "office": "council-member",
38
38
  "leadership": "mayor-pro-tem",
@@ -48,7 +48,7 @@
48
48
  "email": "knewton@cityofandersonsc.com",
49
49
  "phone": "(864) 712-5725",
50
50
  "source": "andersoncity",
51
- "lastUpdated": "2026-03-14",
51
+ "lastUpdated": "2026-06-09",
52
52
  "vacant": false,
53
53
  "office": "council-member",
54
54
  "seatClass": "numbered",
@@ -58,13 +58,29 @@
58
58
  "leadership": null,
59
59
  "partisan": false
60
60
  },
61
+ {
62
+ "name": "Marshall I. Pickens, III",
63
+ "title": "Council Member, Seat 2",
64
+ "email": "mpickens@cityofandersonsc.com",
65
+ "phone": "(864) 844-5928",
66
+ "source": "andersoncity",
67
+ "lastUpdated": "2026-06-09",
68
+ "vacant": false,
69
+ "office": "council-member",
70
+ "seatClass": "numbered",
71
+ "seatLabel": "seat",
72
+ "seatId": "2",
73
+ "seatSource": "parsed-title",
74
+ "leadership": null,
75
+ "partisan": false
76
+ },
61
77
  {
62
78
  "name": "Tony Stewart",
63
79
  "title": "Council Member, Seat 4",
64
80
  "email": "tstewart@cityofandersonsc.com",
65
81
  "phone": "(864) 915-1122",
66
82
  "source": "andersoncity",
67
- "lastUpdated": "2026-03-14",
83
+ "lastUpdated": "2026-06-09",
68
84
  "vacant": false,
69
85
  "office": "council-member",
70
86
  "seatClass": "numbered",
@@ -80,7 +96,7 @@
80
96
  "email": "bthompson@cityofandersonsc.com",
81
97
  "phone": "(864) 224-1990",
82
98
  "source": "andersoncity",
83
- "lastUpdated": "2026-03-14",
99
+ "lastUpdated": "2026-06-09",
84
100
  "vacant": false,
85
101
  "office": "council-member",
86
102
  "seatClass": "numbered",
@@ -96,7 +112,7 @@
96
112
  "email": "gsteele@cityofandersonsc.com",
97
113
  "phone": "(864) 651-2351",
98
114
  "source": "andersoncity",
99
- "lastUpdated": "2026-03-14",
115
+ "lastUpdated": "2026-06-09",
100
116
  "vacant": false,
101
117
  "office": "council-member",
102
118
  "seatClass": "numbered",
@@ -112,7 +128,7 @@
112
128
  "email": "mharbin@cityofandersonsc.com",
113
129
  "phone": "(864) 376-4968",
114
130
  "source": "andersoncity",
115
- "lastUpdated": "2026-03-14",
131
+ "lastUpdated": "2026-06-09",
116
132
  "vacant": false,
117
133
  "office": "council-member",
118
134
  "seatClass": "at-large",
@@ -128,7 +144,7 @@
128
144
  "email": "jroberts@cityofandersonsc.com",
129
145
  "phone": "(864) 261-1311",
130
146
  "source": "andersoncity",
131
- "lastUpdated": "2026-03-14",
147
+ "lastUpdated": "2026-06-09",
132
148
  "vacant": false,
133
149
  "office": "council-member",
134
150
  "seatClass": "at-large",
@@ -4,10 +4,10 @@
4
4
  "level": "local",
5
5
  "jurisdiction": "place:bamberg",
6
6
  "label": "Bamberg City Council",
7
- "lastUpdated": "2026-03-14",
7
+ "lastUpdated": "2026-06-09",
8
8
  "adapter": "bamberg_city",
9
- "dataHash": "c3ddaad425c61f87",
10
- "dataLastChanged": "2026-05-17"
9
+ "dataHash": "e1648ccedf8dbb61",
10
+ "dataLastChanged": "2026-06-09"
11
11
  },
12
12
  "members": [
13
13
  {
@@ -16,7 +16,7 @@
16
16
  "email": "",
17
17
  "phone": "(803) 707-7851",
18
18
  "source": "bambergcity",
19
- "lastUpdated": "2026-03-14",
19
+ "lastUpdated": "2026-06-09",
20
20
  "vacant": false,
21
21
  "office": "council-member",
22
22
  "leadership": "mayor-pro-tem",
@@ -32,7 +32,7 @@
32
32
  "email": "",
33
33
  "phone": "(803) 707-7094",
34
34
  "source": "bambergcity",
35
- "lastUpdated": "2026-03-14",
35
+ "lastUpdated": "2026-06-09",
36
36
  "vacant": false,
37
37
  "office": "council-member",
38
38
  "seatClass": "numbered",
@@ -48,7 +48,7 @@
48
48
  "email": "",
49
49
  "phone": "(803) 347-5726",
50
50
  "source": "bambergcity",
51
- "lastUpdated": "2026-03-14",
51
+ "lastUpdated": "2026-06-09",
52
52
  "vacant": false,
53
53
  "office": "council-member",
54
54
  "seatClass": "numbered",
@@ -64,7 +64,7 @@
64
64
  "email": "",
65
65
  "phone": "",
66
66
  "source": "bambergcity",
67
- "lastUpdated": "2026-03-14",
67
+ "lastUpdated": "2026-06-09",
68
68
  "vacant": false,
69
69
  "seatClass": "numbered",
70
70
  "seatLabel": "district",
@@ -80,7 +80,7 @@
80
80
  "email": "",
81
81
  "phone": "",
82
82
  "source": "bambergcity",
83
- "lastUpdated": "2026-03-14",
83
+ "lastUpdated": "2026-06-09",
84
84
  "vacant": false,
85
85
  "seatClass": "numbered",
86
86
  "seatLabel": "district",
@@ -96,7 +96,7 @@
96
96
  "email": "",
97
97
  "phone": "",
98
98
  "source": "bambergcity",
99
- "lastUpdated": "2026-03-14",
99
+ "lastUpdated": "2026-06-09",
100
100
  "vacant": false,
101
101
  "seatClass": "numbered",
102
102
  "seatLabel": "district",