flexmls_api 0.3.6 → 0.4.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/Gemfile +6 -6
  2. data/Gemfile.lock +6 -6
  3. data/README.md +5 -3
  4. data/Rakefile +2 -1
  5. data/VERSION +1 -1
  6. data/lib/flexmls_api/authentication.rb +25 -54
  7. data/lib/flexmls_api/authentication/api_auth.rb +100 -0
  8. data/lib/flexmls_api/authentication/base_auth.rb +47 -0
  9. data/lib/flexmls_api/authentication/oauth2.rb +219 -0
  10. data/lib/flexmls_api/client.rb +7 -1
  11. data/lib/flexmls_api/configuration.rb +5 -2
  12. data/lib/flexmls_api/faraday.rb +6 -2
  13. data/lib/flexmls_api/models.rb +2 -0
  14. data/lib/flexmls_api/models/base.rb +5 -1
  15. data/lib/flexmls_api/models/contact.rb +1 -0
  16. data/lib/flexmls_api/models/custom_fields.rb +2 -2
  17. data/lib/flexmls_api/models/finders.rb +2 -2
  18. data/lib/flexmls_api/models/idx_link.rb +1 -1
  19. data/lib/flexmls_api/models/listing.rb +31 -5
  20. data/lib/flexmls_api/models/market_statistics.rb +1 -1
  21. data/lib/flexmls_api/models/note.rb +43 -0
  22. data/lib/flexmls_api/models/standard_fields.rb +43 -0
  23. data/lib/flexmls_api/models/subresource.rb +5 -2
  24. data/lib/flexmls_api/models/system_info.rb +7 -0
  25. data/lib/flexmls_api/models/tour_of_home.rb +24 -0
  26. data/lib/flexmls_api/request.rb +13 -28
  27. data/spec/fixtures/add_note.json +11 -0
  28. data/spec/fixtures/agent_shared_note.json +11 -0
  29. data/spec/fixtures/agent_shared_note_empty.json +7 -0
  30. data/spec/fixtures/authentication_failure.json +7 -0
  31. data/spec/fixtures/count.json +10 -0
  32. data/spec/fixtures/errors/expired.json +7 -0
  33. data/spec/fixtures/generic_delete.json +1 -0
  34. data/spec/fixtures/generic_failure.json +5 -0
  35. data/spec/fixtures/oauth2_access.json +3 -0
  36. data/spec/fixtures/oauth2_error.json +3 -0
  37. data/spec/fixtures/session.json +1 -1
  38. data/spec/fixtures/standardfields.json +188 -0
  39. data/spec/fixtures/standardfields_city.json +1031 -0
  40. data/spec/fixtures/standardfields_nearby.json +53 -0
  41. data/spec/fixtures/standardfields_stateorprovince.json +36 -0
  42. data/spec/fixtures/tour_of_homes.json +23 -0
  43. data/spec/spec_helper.rb +22 -5
  44. data/spec/unit/flexmls_api/authentication/api_auth_spec.rb +159 -0
  45. data/spec/unit/flexmls_api/authentication/oauth2_spec.rb +183 -0
  46. data/spec/unit/flexmls_api/authentication_spec.rb +10 -2
  47. data/spec/unit/flexmls_api/configuration_spec.rb +2 -2
  48. data/spec/unit/flexmls_api/faraday_spec.rb +3 -7
  49. data/spec/unit/flexmls_api/models/base_spec.rb +1 -1
  50. data/spec/unit/flexmls_api/models/contact_spec.rb +8 -4
  51. data/spec/unit/flexmls_api/models/document_spec.rb +2 -5
  52. data/spec/unit/flexmls_api/models/listing_spec.rb +46 -9
  53. data/spec/unit/flexmls_api/models/note_spec.rb +90 -0
  54. data/spec/unit/flexmls_api/models/photo_spec.rb +2 -2
  55. data/spec/unit/flexmls_api/models/system_info_spec.rb +37 -3
  56. data/spec/unit/flexmls_api/models/tour_of_home_spec.rb +43 -0
  57. data/spec/unit/flexmls_api/models/video_spec.rb +2 -4
  58. data/spec/unit/flexmls_api/models/virtual_tour_spec.rb +2 -2
  59. data/spec/unit/flexmls_api/paginate_spec.rb +11 -8
  60. data/spec/unit/flexmls_api/request_spec.rb +31 -16
  61. data/spec/unit/flexmls_api/standard_fields_spec.rb +86 -0
  62. data/spec/unit/flexmls_api_spec.rb +6 -27
  63. metadata +119 -76
@@ -0,0 +1,11 @@
1
+ {
2
+ "D": {
3
+ "Results": [
4
+ {
5
+ "ResourceUri": "/v1/listings/20100909200152674436000000/shared/notes/contacts/20110407212043616271000000/",
6
+ "Note": "lorem ipsum dolor sit amet"
7
+ }
8
+ ],
9
+ "Success": true
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "D": {
3
+ "Results": [
4
+ {
5
+ "ResourceUri": "/v1/listings/20100909200152674436000000/shared/notes/contacts/20110407212043616271000000/",
6
+ "Note": "lorem ipsum dolor sit amet"
7
+ }
8
+ ],
9
+ "Success": true
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "D": {
3
+ "Results": [
4
+ ],
5
+ "Success": true
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "D": {
3
+ "Success": false,
4
+ "Message": "Invalid API key and/or request signed improperly",
5
+ "Code": 1000
6
+ }
7
+ }
@@ -0,0 +1,10 @@
1
+ { "D":
2
+ { "Success": true,
3
+ "Pagination": {
4
+ "TotalPages": 81,
5
+ "PageSize": 25,
6
+ "TotalRows": 2001,
7
+ "CurrentPage": 1
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "D": {
3
+ "Success": false,
4
+ "Message": "Session token has expired",
5
+ "Code": 1020
6
+ }
7
+ }
@@ -0,0 +1 @@
1
+ {"D": {"Success": true}}
@@ -0,0 +1,5 @@
1
+ {
2
+ "D": {
3
+ "Success": false
4
+ }
5
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "access_token": "04u7h-4cc355-70k3n"
3
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "error": "invalid_request"
3
+ }
@@ -2,7 +2,7 @@
2
2
  "D": {
3
3
  "Results": [{
4
4
  "Roles": ["basic"],
5
- "Expires": "2010-12-30T11:18:49-06:00",
5
+ "Expires": "2110-12-30T11:18:49-06:00",
6
6
  "AuthToken": "c401736bf3d3f754f07c04e460e09573"
7
7
  }],
8
8
  "Success": true
@@ -0,0 +1,188 @@
1
+ {
2
+ "D": {
3
+ "Success": true,
4
+ "Results": [
5
+ {
6
+ "MLSAreaMinor": {
7
+ "ResourceUri": "/v1/standardfields/MLSAreaMinor",
8
+ "HasList": true,
9
+ "Searchable": true,
10
+ "Type": "Character"
11
+ },
12
+ "StreetNumber": {
13
+ "ResourceUri": "/v1/standardfields/StreetNumber",
14
+ "HasList": false,
15
+ "Searchable": true,
16
+ "Type": "Character"
17
+ },
18
+ "ListingId": {
19
+ "ResourceUri": "/v1/standardfields/ListingId",
20
+ "HasList": false,
21
+ "Searchable": true,
22
+ "Type": "Character"
23
+ },
24
+ "City": {
25
+ "ResourceUri": "/v1/standardfields/City",
26
+ "HasList": true,
27
+ "Searchable": true,
28
+ "Type": "Character"
29
+ },
30
+ "Longitude": {
31
+ "ResourceUri": "/v1/standardfields/Longitude",
32
+ "HasList": false,
33
+ "Searchable": false,
34
+ "Type": "Decimal"
35
+ },
36
+ "StreetName": {
37
+ "ResourceUri": "/v1/standardfields/StreetName",
38
+ "HasList": false,
39
+ "Searchable": true,
40
+ "Type": "Character"
41
+ },
42
+ "YearBuilt": {
43
+ "ResourceUri": "/v1/standardfields/YearBuilt",
44
+ "HasList": false,
45
+ "Searchable": true,
46
+ "Type": "Integer"
47
+ },
48
+ "BuildingAreaTotal": {
49
+ "ResourceUri": "/v1/standardfields/BuildingAreaTotal",
50
+ "HasList": false,
51
+ "Searchable": true,
52
+ "Type": "Decimal"
53
+ },
54
+ "PublicRemarks": {
55
+ "ResourceUri": "/v1/standardfields/PublicRemarks",
56
+ "HasList": false,
57
+ "Searchable": false,
58
+ "Type": "Character"
59
+ },
60
+ "PostalCode": {
61
+ "ResourceUri": "/v1/standardfields/PostalCode",
62
+ "HasList": true,
63
+ "Searchable": true,
64
+ "Type": "Character"
65
+ },
66
+ "ListPrice": {
67
+ "ResourceUri": "/v1/standardfields/ListPrice",
68
+ "HasList": false,
69
+ "Searchable": true,
70
+ "Type": "Decimal"
71
+ },
72
+ "SubdivisionName": {
73
+ "ResourceUri": "/v1/standardfields/SubdivisionName",
74
+ "HasList": false,
75
+ "Searchable": true,
76
+ "Type": "Character"
77
+ },
78
+ "BathsThreeQuarter": {
79
+ "ResourceUri": "/v1/standardfields/BathsThreeQuarter",
80
+ "HasList": false,
81
+ "Searchable": true,
82
+ "Type": "Integer"
83
+ },
84
+ "Latitude": {
85
+ "ResourceUri": "/v1/standardfields/Latitude",
86
+ "HasList": false,
87
+ "Searchable": false,
88
+ "Type": "Decimal"
89
+ },
90
+ "MlsStatusInformation": {
91
+ "ResourceUri": "/v1/standardfields/MlsStatusInformation",
92
+ "HasList": true,
93
+ "Searchable": false,
94
+ "Type": "Character"
95
+ },
96
+ "StreetDirPrefix": {
97
+ "ResourceUri": "/v1/standardfields/StreetDirPrefix",
98
+ "HasList": true,
99
+ "Searchable": true,
100
+ "Type": "Character"
101
+ },
102
+ "StreetAdditionalInfo": {
103
+ "ResourceUri": "/v1/standardfields/StreetAdditionalInfo",
104
+ "HasList": false,
105
+ "Searchable": true,
106
+ "Type": "Character"
107
+ },
108
+ "PropertyType": {
109
+ "ResourceUri": "/v1/standardfields/PropertyType",
110
+ "HasList": false,
111
+ "Searchable": true,
112
+ "Type": "Character"
113
+ },
114
+ "StateOrProvince": {
115
+ "ResourceUri": "/v1/standardfields/StateOrProvince",
116
+ "HasList": true,
117
+ "Searchable": true,
118
+ "Type": "Character"
119
+ },
120
+ "BathsTotal": {
121
+ "ResourceUri": "/v1/standardfields/BathsTotal",
122
+ "HasList": false,
123
+ "Searchable": true,
124
+ "Type": "Decimal"
125
+ },
126
+ "BathsFull": {
127
+ "ResourceUri": "/v1/standardfields/BathsFull",
128
+ "HasList": false,
129
+ "Searchable": true,
130
+ "Type": "Integer"
131
+ },
132
+ "ListingKey": {
133
+ "ResourceUri": "/v1/standardfields/ListingKey",
134
+ "HasList": false,
135
+ "Searchable": false,
136
+ "Type": "Character"
137
+ },
138
+ "StreetDirSuffix": {
139
+ "ResourceUri": "/v1/standardfields/StreetDirSuffix",
140
+ "HasList": false,
141
+ "Searchable": true,
142
+ "Type": "Character"
143
+ },
144
+ "BedsTotal": {
145
+ "ResourceUri": "/v1/standardfields/BedsTotal",
146
+ "HasList": false,
147
+ "Searchable": true,
148
+ "Type": "Integer"
149
+ },
150
+ "ModificationTimestamp": {
151
+ "ResourceUri": "/v1/standardfields/ModificationTimestamp",
152
+ "HasList": false,
153
+ "Searchable": false,
154
+ "Type": "Datetime"
155
+ },
156
+ "MlsStatus": {
157
+ "ResourceUri": "/v1/standardfields/MlsStatus",
158
+ "HasList": true,
159
+ "Searchable": false,
160
+ "Type": "Character"
161
+ },
162
+ "BathsHalf": {
163
+ "ResourceUri": "/v1/standardfields/BathsHalf",
164
+ "HasList": false,
165
+ "Searchable": true,
166
+ "Type": "Integer"
167
+ },
168
+ "PropertySubType": {
169
+ "ResourceUri": "/v1/standardfields/PropertySubType",
170
+ "HasList": true,
171
+ "Searchable": true,
172
+ "Type": "Character"
173
+ },
174
+ "PrivateRemarks": {
175
+ "ResourceUri": "/v1/standardfields/PrivateRemarks",
176
+ "HasList": false,
177
+ "Searchable": false,
178
+ "Type": "Character"
179
+ },
180
+ "CountyOrParish": {
181
+ "ResourceUri": "/v1/standardfields/CountyOrParish",
182
+ "HasList": false,
183
+ "Searchable": true,
184
+ "Type": "Character"
185
+ }
186
+ }]
187
+ }
188
+ }
@@ -0,0 +1,1031 @@
1
+ {
2
+ "D": {
3
+ "Success": true,
4
+ "Results": [{
5
+ "City": {
6
+ "ResourceUri": "/v1/standardfields/City",
7
+ "FieldList": [{
8
+ "Name": " Fargo",
9
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
10
+ "Value": "Fargo"
11
+ },
12
+ {
13
+ "Name": "Abercrombie",
14
+ "Value": "Abercrombie"
15
+ },
16
+ {
17
+ "Name": "Absaraka",
18
+ "Value": "Absaraka"
19
+ },
20
+ {
21
+ "Name": "Ada",
22
+ "Value": "Ada"
23
+ },
24
+ {
25
+ "Name": "Adrian",
26
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
27
+ "Value": "Adrian"
28
+ },
29
+ {
30
+ "Name": "Akeley",
31
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
32
+ "Value": "Akeley"
33
+ },
34
+ {
35
+ "Name": "Alice",
36
+ "Value": "Alice"
37
+ },
38
+ {
39
+ "Name": "Amenia",
40
+ "Value": "Amenia"
41
+ },
42
+ {
43
+ "Name": "Aneta",
44
+ "Value": "Aneta"
45
+ },
46
+ {
47
+ "Name": "Argusville",
48
+ "Value": "Argusville"
49
+ },
50
+ {
51
+ "Name": "Arthur",
52
+ "Value": "Arthur"
53
+ },
54
+ {
55
+ "Name": "Ashby",
56
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
57
+ "Value": "Ashby"
58
+ },
59
+ {
60
+ "Name": "Audubon",
61
+ "Value": "Audubon"
62
+ },
63
+ {
64
+ "Name": "Ayr",
65
+ "Value": "Ayr"
66
+ },
67
+ {
68
+ "Name": "Bagley",
69
+ "Value": "Bagley"
70
+ },
71
+ {
72
+ "Name": "Baker",
73
+ "Value": "Baker"
74
+ },
75
+ {
76
+ "Name": "Barnesville",
77
+ "Value": "Barnesville"
78
+ },
79
+ {
80
+ "Name": "Barney",
81
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
82
+ "Value": "Barney"
83
+ },
84
+ {
85
+ "Name": "Battle Lake",
86
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
87
+ "Value": "Battle Lake"
88
+ },
89
+ {
90
+ "Name": "Bejou",
91
+ "Value": "Bejou"
92
+ },
93
+ {
94
+ "Name": "Bertha",
95
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
96
+ "Value": "Bertha"
97
+ },
98
+ {
99
+ "Name": "Bismarck",
100
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
101
+ "Value": "Bismarck"
102
+ },
103
+ {
104
+ "Name": "Blanchard",
105
+ "Value": "Blanchard"
106
+ },
107
+ {
108
+ "Name": "Bluffton",
109
+ "Applies To": ["A", "G", "I", "J", "M"],
110
+ "Value": "Bluffton"
111
+ },
112
+ {
113
+ "Name": "Borup",
114
+ "Value": "Borup"
115
+ },
116
+ {
117
+ "Name": "Bottineau",
118
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
119
+ "Value": "Bottineau"
120
+ },
121
+ {
122
+ "Name": "Brandon",
123
+ "Applies To": ["A"],
124
+ "Value": "Brandon"
125
+ },
126
+ {
127
+ "Name": "Breckenridge",
128
+ "Value": "Breckenridge"
129
+ },
130
+ {
131
+ "Name": "Briarwood",
132
+ "Value": "Briarwood"
133
+ },
134
+ {
135
+ "Name": "Browerville",
136
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
137
+ "Value": "Browerville"
138
+ },
139
+ {
140
+ "Name": "Browns Valley",
141
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
142
+ "Value": "Browns Valley"
143
+ },
144
+ {
145
+ "Name": "Buffalo",
146
+ "Value": "Buffalo"
147
+ },
148
+ {
149
+ "Name": "Buxton",
150
+ "Value": "Buxton"
151
+ },
152
+ {
153
+ "Name": "Caledonia",
154
+ "Value": "Caledonia"
155
+ },
156
+ {
157
+ "Name": "Callaway",
158
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
159
+ "Value": "Callaway"
160
+ },
161
+ {
162
+ "Name": "Calloway",
163
+ "Applies To": ["B", "C", "E"],
164
+ "Value": "Calloway"
165
+ },
166
+ {
167
+ "Name": "Carrington",
168
+ "Value": "Carrington"
169
+ },
170
+ {
171
+ "Name": "Cass Lake",
172
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
173
+ "Value": "Cass Lake"
174
+ },
175
+ {
176
+ "Name": "Casselton",
177
+ "Value": "Casselton"
178
+ },
179
+ {
180
+ "Name": "Cavalier",
181
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
182
+ "Value": "Cavalier"
183
+ },
184
+ {
185
+ "Name": "Chaffee",
186
+ "Value": "Chaffee"
187
+ },
188
+ {
189
+ "Name": "Chisholm",
190
+ "Value": "Chisholm"
191
+ },
192
+ {
193
+ "Name": "Christine",
194
+ "Value": "Christine"
195
+ },
196
+ {
197
+ "Name": "Clearwater",
198
+ "Value": "Clearwater"
199
+ },
200
+ {
201
+ "Name": "Clifford",
202
+ "Value": "Clifford"
203
+ },
204
+ {
205
+ "Name": "Clitheral",
206
+ "Value": "Clitheral"
207
+ },
208
+ {
209
+ "Name": "Cogswell",
210
+ "Value": "Cogswell"
211
+ },
212
+ {
213
+ "Name": "Colfax",
214
+ "Value": "Colfax"
215
+ },
216
+ {
217
+ "Name": "Comstock",
218
+ "Value": "Comstock"
219
+ },
220
+ {
221
+ "Name": "Cooperstown",
222
+ "Value": "Cooperstown"
223
+ },
224
+ {
225
+ "Name": "Courtenay",
226
+ "Value": "Courtenay"
227
+ },
228
+ {
229
+ "Name": "Crookston",
230
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
231
+ "Value": "Crookston"
232
+ },
233
+ {
234
+ "Name": "Cummings",
235
+ "Value": "Cummings"
236
+ },
237
+ {
238
+ "Name": "Dalton",
239
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
240
+ "Value": "Dalton"
241
+ },
242
+ {
243
+ "Name": "Davenport",
244
+ "Value": "Davenport"
245
+ },
246
+ {
247
+ "Name": "Deer Creek",
248
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
249
+ "Value": "Deer Creek"
250
+ },
251
+ {
252
+ "Name": "Deer River",
253
+ "Value": "Deer River"
254
+ },
255
+ {
256
+ "Name": "Dent",
257
+ "Value": "Dent"
258
+ },
259
+ {
260
+ "Name": "Detroit Lakes",
261
+ "Value": "Detroit Lakes"
262
+ },
263
+ {
264
+ "Name": "Devils Lake",
265
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
266
+ "Value": "Devils Lake"
267
+ },
268
+ {
269
+ "Name": "Dickinson",
270
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
271
+ "Value": "Dickinson"
272
+ },
273
+ {
274
+ "Name": "Dilworth",
275
+ "Value": "Dilworth"
276
+ },
277
+ {
278
+ "Name": "Doran",
279
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
280
+ "Value": "Doran"
281
+ },
282
+ {
283
+ "Name": "Downer",
284
+ "Value": "Downer"
285
+ },
286
+ {
287
+ "Name": "Durbin",
288
+ "Value": "Durbin"
289
+ },
290
+ {
291
+ "Name": "East Grand Forks",
292
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
293
+ "Value": "East Grand Forks"
294
+ },
295
+ {
296
+ "Name": "Elbow Lake",
297
+ "Value": "Elbow Lake"
298
+ },
299
+ {
300
+ "Name": "Elliot",
301
+ "Value": "Elliot"
302
+ },
303
+ {
304
+ "Name": "Embden",
305
+ "Value": "Embden"
306
+ },
307
+ {
308
+ "Name": "Enderlin",
309
+ "Value": "Enderlin"
310
+ },
311
+ {
312
+ "Name": "Erhard",
313
+ "Value": "Erhard"
314
+ },
315
+ {
316
+ "Name": "Erie",
317
+ "Value": "Erie"
318
+ },
319
+ {
320
+ "Name": "Erskine",
321
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
322
+ "Value": "Erskine"
323
+ },
324
+ {
325
+ "Name": "Fairmont",
326
+ "Applies To": ["B", "C", "E", "J", "K"],
327
+ "Value": "Fairmont"
328
+ },
329
+ {
330
+ "Name": "Fairmount",
331
+ "Applies To": ["A", "G", "I", "M"],
332
+ "Value": "Fairmount"
333
+ },
334
+ {
335
+ "Name": "Fargo",
336
+ "Applies To": ["B", "C", "E"],
337
+ "Value": "Fargo"
338
+ },
339
+ {
340
+ "Name": "Federal Dam",
341
+ "Value": "Federal Dam"
342
+ },
343
+ {
344
+ "Name": "Felton",
345
+ "Value": "Felton"
346
+ },
347
+ {
348
+ "Name": "Fergus Falls",
349
+ "Value": "Fergus Falls"
350
+ },
351
+ {
352
+ "Name": "Fertile",
353
+ "Value": "Fertile"
354
+ },
355
+ {
356
+ "Name": "Fingal",
357
+ "Value": "Fingal"
358
+ },
359
+ {
360
+ "Name": "Finley",
361
+ "Value": "Finley"
362
+ },
363
+ {
364
+ "Name": "Flom",
365
+ "Value": "Flom"
366
+ },
367
+ {
368
+ "Name": "Forman",
369
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
370
+ "Value": "Forman"
371
+ },
372
+ {
373
+ "Name": "Fort Ransom",
374
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
375
+ "Value": "Fort Ransom"
376
+ },
377
+ {
378
+ "Name": "Fosston",
379
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
380
+ "Value": "Fosston"
381
+ },
382
+ {
383
+ "Name": "Frazee",
384
+ "Value": "Frazee"
385
+ },
386
+ {
387
+ "Name": "Frontier",
388
+ "Value": "Frontier"
389
+ },
390
+ {
391
+ "Name": "Galchutt",
392
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
393
+ "Value": "Galchutt"
394
+ },
395
+ {
396
+ "Name": "Galesburg",
397
+ "Value": "Galesburg"
398
+ },
399
+ {
400
+ "Name": "Gardner",
401
+ "Value": "Gardner"
402
+ },
403
+ {
404
+ "Name": "Gary",
405
+ "Value": "Gary"
406
+ },
407
+ {
408
+ "Name": "Gatzke",
409
+ "Value": "Gatzke"
410
+ },
411
+ {
412
+ "Name": "Georgetown",
413
+ "Value": "Georgetown"
414
+ },
415
+ {
416
+ "Name": "Glyndon",
417
+ "Value": "Glyndon"
418
+ },
419
+ {
420
+ "Name": "Grafton",
421
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
422
+ "Value": "Grafton"
423
+ },
424
+ {
425
+ "Name": "Grand Forks",
426
+ "Value": "Grand Forks"
427
+ },
428
+ {
429
+ "Name": "Grand Rapids",
430
+ "Value": "Grand Rapids"
431
+ },
432
+ {
433
+ "Name": "Grandin",
434
+ "Value": "Grandin"
435
+ },
436
+ {
437
+ "Name": "Grandville",
438
+ "Value": "Grandville"
439
+ },
440
+ {
441
+ "Name": "Great Bend",
442
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
443
+ "Value": "Great Bend"
444
+ },
445
+ {
446
+ "Name": "Grygla",
447
+ "Applies To": ["J"],
448
+ "Value": "Grygla"
449
+ },
450
+ {
451
+ "Name": "Gwinner",
452
+ "Value": "Gwinner"
453
+ },
454
+ {
455
+ "Name": "Halma",
456
+ "Value": "Halma"
457
+ },
458
+ {
459
+ "Name": "Halstad",
460
+ "Value": "Halstad"
461
+ },
462
+ {
463
+ "Name": "Hankinson",
464
+ "Value": "Hankinson"
465
+ },
466
+ {
467
+ "Name": "Harvey",
468
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
469
+ "Value": "Harvey"
470
+ },
471
+ {
472
+ "Name": "Harwood",
473
+ "Value": "Harwood"
474
+ },
475
+ {
476
+ "Name": "Hatton",
477
+ "Value": "Hatton"
478
+ },
479
+ {
480
+ "Name": "Hawley",
481
+ "Value": "Hawley"
482
+ },
483
+ {
484
+ "Name": "Hazen",
485
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
486
+ "Value": "Hazen"
487
+ },
488
+ {
489
+ "Name": "Hendrum",
490
+ "Value": "Hendrum"
491
+ },
492
+ {
493
+ "Name": "Henning",
494
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
495
+ "Value": "Henning"
496
+ },
497
+ {
498
+ "Name": "Hewitt",
499
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
500
+ "Value": "Hewitt"
501
+ },
502
+ {
503
+ "Name": "Hickson",
504
+ "Value": "Hickson"
505
+ },
506
+ {
507
+ "Name": "Hillsboro",
508
+ "Value": "Hillsboro"
509
+ },
510
+ {
511
+ "Name": "Hitterdal",
512
+ "Value": "Hitterdal"
513
+ },
514
+ {
515
+ "Name": "Hope",
516
+ "Value": "Hope"
517
+ },
518
+ {
519
+ "Name": "Horace",
520
+ "Value": "Horace"
521
+ },
522
+ {
523
+ "Name": "Hunter",
524
+ "Value": "Hunter"
525
+ },
526
+ {
527
+ "Name": "Jamestown",
528
+ "Value": "Jamestown"
529
+ },
530
+ {
531
+ "Name": "Karlstad",
532
+ "Value": "Karlstad"
533
+ },
534
+ {
535
+ "Name": "Kathryn",
536
+ "Value": "Kathryn"
537
+ },
538
+ {
539
+ "Name": "Kelso",
540
+ "Value": "Kelso"
541
+ },
542
+ {
543
+ "Name": "Kent",
544
+ "Value": "Kent"
545
+ },
546
+ {
547
+ "Name": "Kindred",
548
+ "Value": "Kindred"
549
+ },
550
+ {
551
+ "Name": "Knox",
552
+ "Value": "Knox"
553
+ },
554
+ {
555
+ "Name": "Kragnes",
556
+ "Value": "Kragnes"
557
+ },
558
+ {
559
+ "Name": "Kulm",
560
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
561
+ "Value": "Kulm"
562
+ },
563
+ {
564
+ "Name": "Lake Park",
565
+ "Value": "Lake Park"
566
+ },
567
+ {
568
+ "Name": "Lancaster",
569
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
570
+ "Value": "Lancaster"
571
+ },
572
+ {
573
+ "Name": "Langdon",
574
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
575
+ "Value": "Langdon"
576
+ },
577
+ {
578
+ "Name": "Leal",
579
+ "Value": "Leal"
580
+ },
581
+ {
582
+ "Name": "Lehr",
583
+ "Value": "Lehr"
584
+ },
585
+ {
586
+ "Name": "Leonard",
587
+ "Value": "Leonard"
588
+ },
589
+ {
590
+ "Name": "Lidgerwood",
591
+ "Value": "Lidgerwood"
592
+ },
593
+ {
594
+ "Name": "Linton",
595
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
596
+ "Value": "Linton"
597
+ },
598
+ {
599
+ "Name": "Lisbon",
600
+ "Value": "Lisbon"
601
+ },
602
+ {
603
+ "Name": "Litchville",
604
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
605
+ "Value": "Litchville"
606
+ },
607
+ {
608
+ "Name": "Ludden",
609
+ "Value": "Ludden"
610
+ },
611
+ {
612
+ "Name": "Luverne",
613
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
614
+ "Value": "Luverne"
615
+ },
616
+ {
617
+ "Name": "Lynchburg",
618
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
619
+ "Value": "Lynchburg"
620
+ },
621
+ {
622
+ "Name": "Mahnomen",
623
+ "Value": "Mahnomen"
624
+ },
625
+ {
626
+ "Name": "Mandan",
627
+ "Value": "Mandan"
628
+ },
629
+ {
630
+ "Name": "Maplehurst",
631
+ "Value": "Maplehurst"
632
+ },
633
+ {
634
+ "Name": "Mapleton",
635
+ "Value": "Mapleton"
636
+ },
637
+ {
638
+ "Name": "Marmarth",
639
+ "Value": "Marmarth"
640
+ },
641
+ {
642
+ "Name": "Mayville",
643
+ "Value": "Mayville"
644
+ },
645
+ {
646
+ "Name": "McLeod",
647
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
648
+ "Value": "McLeod"
649
+ },
650
+ {
651
+ "Name": "Medina",
652
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
653
+ "Value": "Medina"
654
+ },
655
+ {
656
+ "Name": "Menahga",
657
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
658
+ "Value": "Menahga"
659
+ },
660
+ {
661
+ "Name": "Mentor",
662
+ "Value": "Mentor"
663
+ },
664
+ {
665
+ "Name": "Milnor",
666
+ "Value": "Milnor"
667
+ },
668
+ {
669
+ "Name": "Miltona",
670
+ "Value": "Miltona"
671
+ },
672
+ {
673
+ "Name": "Minneapolis",
674
+ "Value": "Minneapolis"
675
+ },
676
+ {
677
+ "Name": "Montpelier",
678
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
679
+ "Value": "Montpelier"
680
+ },
681
+ {
682
+ "Name": "Mooreton",
683
+ "Value": "Mooreton"
684
+ },
685
+ {
686
+ "Name": "Moorhead",
687
+ "Value": "Moorhead"
688
+ },
689
+ {
690
+ "Name": "Motley",
691
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
692
+ "Value": "Motley"
693
+ },
694
+ {
695
+ "Name": "Naytahwaush",
696
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
697
+ "Value": "Naytahwaush"
698
+ },
699
+ {
700
+ "Name": "Nevis",
701
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
702
+ "Value": "Nevis"
703
+ },
704
+ {
705
+ "Name": "New Rockford",
706
+ "Value": "New Rockford"
707
+ },
708
+ {
709
+ "Name": "New Salem",
710
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
711
+ "Value": "New Salem"
712
+ },
713
+ {
714
+ "Name": "New York Mills",
715
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
716
+ "Value": "New York Mills"
717
+ },
718
+ {
719
+ "Name": "Nielsville",
720
+ "Value": "Nielsville"
721
+ },
722
+ {
723
+ "Name": "Nimrod",
724
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
725
+ "Value": "Nimrod"
726
+ },
727
+ {
728
+ "Name": "Nome",
729
+ "Value": "Nome"
730
+ },
731
+ {
732
+ "Name": "Northwood",
733
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
734
+ "Value": "Northwood"
735
+ },
736
+ {
737
+ "Name": "Oakes",
738
+ "Value": "Oakes"
739
+ },
740
+ {
741
+ "Name": "Ogema",
742
+ "Value": "Ogema"
743
+ },
744
+ {
745
+ "Name": "Oriska",
746
+ "Value": "Oriska"
747
+ },
748
+ {
749
+ "Name": "Osage",
750
+ "Value": "Osage"
751
+ },
752
+ {
753
+ "Name": "Ottertail",
754
+ "Value": "Ottertail"
755
+ },
756
+ {
757
+ "Name": "Oxbow",
758
+ "Value": "Oxbow"
759
+ },
760
+ {
761
+ "Name": "Page",
762
+ "Value": "Page"
763
+ },
764
+ {
765
+ "Name": "Palisade",
766
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
767
+ "Value": "Palisade"
768
+ },
769
+ {
770
+ "Name": "Park Rapids",
771
+ "Value": "Park Rapids"
772
+ },
773
+ {
774
+ "Name": "Parkers Prairie",
775
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
776
+ "Value": "Parkers Prairie"
777
+ },
778
+ {
779
+ "Name": "Pelican Lake",
780
+ "Value": "Pelican Lake"
781
+ },
782
+ {
783
+ "Name": "Pelican Rapids",
784
+ "Value": "Pelican Rapids"
785
+ },
786
+ {
787
+ "Name": "Pengilly",
788
+ "Value": "Pengilly"
789
+ },
790
+ {
791
+ "Name": "Perham",
792
+ "Value": "Perham"
793
+ },
794
+ {
795
+ "Name": "Perley",
796
+ "Value": "Perley"
797
+ },
798
+ {
799
+ "Name": "Ponsford",
800
+ "Value": "Ponsford"
801
+ },
802
+ {
803
+ "Name": "Portland",
804
+ "Value": "Portland"
805
+ },
806
+ {
807
+ "Name": "Powers Lake",
808
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
809
+ "Value": "Powers Lake"
810
+ },
811
+ {
812
+ "Name": "Prairie Rose",
813
+ "Value": "Prairie Rose"
814
+ },
815
+ {
816
+ "Name": "Prosper",
817
+ "Value": "Prosper"
818
+ },
819
+ {
820
+ "Name": "Red Lake Falls",
821
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
822
+ "Value": "Red Lake Falls"
823
+ },
824
+ {
825
+ "Name": "Reiles Acres",
826
+ "Value": "Reiles Acres"
827
+ },
828
+ {
829
+ "Name": "Reynolds",
830
+ "Value": "Reynolds"
831
+ },
832
+ {
833
+ "Name": "Richville",
834
+ "Value": "Richville"
835
+ },
836
+ {
837
+ "Name": "Richwood",
838
+ "Value": "Richwood"
839
+ },
840
+ {
841
+ "Name": "Riverdale",
842
+ "Value": "Riverdale"
843
+ },
844
+ {
845
+ "Name": "Rochert",
846
+ "Value": "Rochert"
847
+ },
848
+ {
849
+ "Name": "Rogers",
850
+ "Value": "Rogers"
851
+ },
852
+ {
853
+ "Name": "Rollag",
854
+ "Value": "Rollag"
855
+ },
856
+ {
857
+ "Name": "Rothsay",
858
+ "Value": "Rothsay"
859
+ },
860
+ {
861
+ "Name": "Ruso",
862
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
863
+ "Value": "Ruso"
864
+ },
865
+ {
866
+ "Name": "Rutland",
867
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
868
+ "Value": "Rutland"
869
+ },
870
+ {
871
+ "Name": "Sabin",
872
+ "Value": "Sabin"
873
+ },
874
+ {
875
+ "Name": "Sanborn",
876
+ "Value": "Sanborn"
877
+ },
878
+ {
879
+ "Name": "Sebeka",
880
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
881
+ "Value": "Sebeka"
882
+ },
883
+ {
884
+ "Name": "Sheldon",
885
+ "Value": "Sheldon"
886
+ },
887
+ {
888
+ "Name": "Shelly",
889
+ "Value": "Shelly"
890
+ },
891
+ {
892
+ "Name": "Sibley",
893
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
894
+ "Value": "Sibley"
895
+ },
896
+ {
897
+ "Name": "St. Vincent",
898
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
899
+ "Value": "St. Vincent"
900
+ },
901
+ {
902
+ "Name": "Syre",
903
+ "Value": "Syre"
904
+ },
905
+ {
906
+ "Name": "Test",
907
+ "Applies To": ["A", "G", "M"],
908
+ "Value": "Test"
909
+ },
910
+ {
911
+ "Name": "Thief River Falls",
912
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
913
+ "Value": "Thief River Falls"
914
+ },
915
+ {
916
+ "Name": "Tower City",
917
+ "Value": "Tower City"
918
+ },
919
+ {
920
+ "Name": "Twin Valley",
921
+ "Value": "Twin Valley"
922
+ },
923
+ {
924
+ "Name": "Ulen",
925
+ "Value": "Ulen"
926
+ },
927
+ {
928
+ "Name": "Underwood",
929
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
930
+ "Value": "Underwood"
931
+ },
932
+ {
933
+ "Name": "Valley City",
934
+ "Value": "Valley City"
935
+ },
936
+ {
937
+ "Name": "Vergas",
938
+ "Value": "Vergas"
939
+ },
940
+ {
941
+ "Name": "Verndale",
942
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
943
+ "Value": "Verndale"
944
+ },
945
+ {
946
+ "Name": "Wadena",
947
+ "Value": "Wadena"
948
+ },
949
+ {
950
+ "Name": "Wahpeton",
951
+ "Value": "Wahpeton"
952
+ },
953
+ {
954
+ "Name": "Walcott",
955
+ "Value": "Walcott"
956
+ },
957
+ {
958
+ "Name": "Walida Heights",
959
+ "Value": "Walida Heights"
960
+ },
961
+ {
962
+ "Name": "Walker",
963
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
964
+ "Value": "Walker"
965
+ },
966
+ {
967
+ "Name": "Warren",
968
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
969
+ "Value": "Warren"
970
+ },
971
+ {
972
+ "Name": "Waubun",
973
+ "Value": "Waubun"
974
+ },
975
+ {
976
+ "Name": "West Fargo",
977
+ "Value": "West Fargo"
978
+ },
979
+ {
980
+ "Name": "Wheatland",
981
+ "Value": "Wheatland"
982
+ },
983
+ {
984
+ "Name": "White Earth",
985
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
986
+ "Value": "White Earth"
987
+ },
988
+ {
989
+ "Name": "Wild Rice",
990
+ "Value": "Wild Rice"
991
+ },
992
+ {
993
+ "Name": "Willow River",
994
+ "Applies To": ["A", "G", "I", "M"],
995
+ "Value": "Willow River"
996
+ },
997
+ {
998
+ "Name": "Wimbledon",
999
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
1000
+ "Value": "Wimbledon"
1001
+ },
1002
+ {
1003
+ "Name": "Winger",
1004
+ "Applies To": ["A", "G", "I", "J", "K", "M"],
1005
+ "Value": "Winger"
1006
+ },
1007
+ {
1008
+ "Name": "Wolverton",
1009
+ "Value": "Wolverton"
1010
+ },
1011
+ {
1012
+ "Name": "Wyndmere",
1013
+ "Value": "Wyndmere"
1014
+ },
1015
+ {
1016
+ "Name": "Ypsilanti",
1017
+ "Applies To": ["K"],
1018
+ "Value": "Ypsilanti"
1019
+ },
1020
+ {
1021
+ "Name": "dylan desc",
1022
+ "Applies To": ["A"],
1023
+ "Value": "dylan value"
1024
+ }],
1025
+ "HasList": true,
1026
+ "Searchable": true,
1027
+ "Type": "Character"
1028
+ }
1029
+ }]
1030
+ }
1031
+ }