|
30 | 30 | }, |
31 | 31 | "provider_ids":{ |
32 | 32 | "$id": "#/definitions/policy/properties/provider_ids", |
33 | | - "$ref": "#/definitions/uuid_array", |
| 33 | + "$ref": "#/definitions/null_uuid_array", |
34 | 34 | "description": "Providers for whom this policy is applicable; empty arrays and null/absent implies all Providers.", |
35 | 35 | "uniqueItems": true |
36 | 36 | }, |
|
50 | 50 | }, |
51 | 51 | "end_date": { |
52 | 52 | "$id": "#/definitions/policy/properties/end_date", |
53 | | - "$ref": "#/definitions/timestamp", |
| 53 | + "$ref": "#/definitions/null_timestamp", |
54 | 54 | "description": "End date/time of policy enforcement" |
55 | 55 | }, |
56 | 56 | "published_date": { |
|
60 | 60 | }, |
61 | 61 | "prev_policies": { |
62 | 62 | "$id": "#/definitions/policy/properties/prev_policies", |
63 | | - "$ref": "#/definitions/uuid_array", |
| 63 | + "$ref": "#/definitions/null_uuid_array", |
64 | 64 | "description": "Unique IDs of prior policies replaced by this one", |
65 | 65 | "uniqueItems": true |
66 | 66 | }, |
67 | 67 | "rules": { |
68 | | - "$id": "#/definitions/rule", |
| 68 | + "$id": "#/definitions/rules", |
69 | 69 | "type": "array", |
70 | 70 | "description": "Array of applicable Rule objects", |
71 | 71 | "items": { |
|
154 | 154 | }, |
155 | 155 | "vehicle_types": { |
156 | 156 | "$id": "#/definitions/rule/properties/vehicle_types", |
157 | | - "$ref": "#/definitions/vehicle_types", |
| 157 | + "$ref": "#/definitions/null_vehicle_types", |
158 | 158 | "description": "Applicable vehicle types, default \"all\"" |
159 | 159 | }, |
160 | 160 | "propulsion_types": { |
161 | 161 | "$id": "#/definitions/rule/properties/propulsion_types", |
162 | | - "$ref": "#/definitions/propulsion_types", |
| 162 | + "$ref": "#/definitions/null_propulsion_types", |
163 | 163 | "description": "Applicable vehicle propulsion types, default \"all\"" |
164 | 164 | }, |
165 | 165 | "minimum": { |
166 | 166 | "$id": "#/definitions/rule/properties/minimum", |
167 | | - "type": "integer", |
| 167 | + "type": ["null", "integer"], |
168 | 168 | "description": "Minimum value, if applicable (default 0)" |
169 | 169 | }, |
170 | 170 | "maximum": { |
171 | 171 | "$id": "#/definitions/rule/properties/maximum", |
172 | | - "type": "integer", |
| 172 | + "type": ["null", "integer"], |
173 | 173 | "description": "Maximum value, if applicable (default unlimited)" |
174 | 174 | }, |
175 | 175 | "rate_amount": { |
176 | 176 | "$id": "#/definitions/rule/properties/rate_amount", |
177 | | - "type": "integer", |
| 177 | + "type": ["null", "integer"], |
178 | 178 | "description": "The amount of a rate applied when this rule applies, if applicable (default zero). A positive integer rate amount represents a fee, while a negative integer represents a subsidy. Rate amounts are given in the currency defined in the Policy." |
179 | 179 | }, |
180 | 180 | "rate_recurrence": { |
181 | 181 | "$id": "#/definitions/rule/properties/rate_recurrence", |
182 | | - "type": "string", |
| 182 | + "type": ["string", "null"], |
183 | 183 | "description": "Specify when a rate is applied – either once, or periodically according to a time unit specified using rule_units", |
184 | 184 | "enum": [ |
185 | 185 | "once", |
|
189 | 189 | }, |
190 | 190 | "start_time": { |
191 | 191 | "$id": "#/definitions/rule/properties/start_time", |
192 | | - "$ref": "#/definitions/iso_time", |
| 192 | + "$ref": "#/definitions/null_iso_time", |
193 | 193 | "description": "Beginning time-of-day when the rule is in effect (default 00:00:00)" |
194 | 194 | }, |
195 | 195 | "end_time": { |
196 | 196 | "$id": "#/definitions/rule/properties/end_time", |
197 | | - "$ref": "#/definitions/iso_time", |
| 197 | + "$ref": "#/definitions/null_iso_time", |
198 | 198 | "description": "Ending time-of-day when the rule is in effect (default 23:59:59)" |
199 | 199 | }, |
200 | 200 | "days": { |
201 | 201 | "$id": "#/definitions/rule/properties/days", |
202 | | - "$ref": "#/definitions/days", |
| 202 | + "$ref": "#/definitions/null_days", |
203 | 203 | "description": "Days when the rule is in effect (default all)" |
204 | 204 | }, |
205 | 205 | "messages": { |
206 | 206 | "$id": "#/definitions/rule/properties/messages", |
207 | | - "type": "object", |
| 207 | + "type": ["null", "object"], |
208 | 208 | "description": "Message to rider user, if desired, in various languages, keyed by BCP 47 language tag", |
209 | 209 | "propertyNames": { |
210 | 210 | "pattern": "([A-Za-z]{2,3})([-][A-Za-z]{3}){0,3}([-]([A-Za-z]{4}))?([-]([A-Za-z]{2}|[0-9]{3}))?" |
211 | 211 | } |
212 | 212 | }, |
213 | 213 | "value_url": { |
214 | 214 | "$id": "#/definitions/rule/properties/value_url", |
215 | | - "type": "string", |
| 215 | + "type": ["null", "string"], |
216 | 216 | "description": "URL to an API endpoint that can provide dynamic information for the measured value", |
217 | 217 | "format": "uri" |
218 | 218 | } |
|
247 | 247 | }, |
248 | 248 | "end_date": { |
249 | 249 | "$id": "#/properties/end_date", |
250 | | - "$ref": "#/definitions/timestamp", |
| 250 | + "$ref": "#/definitions/null_timestamp", |
251 | 251 | "description": "The timestamp after which the Policy is no longer effective" |
252 | 252 | }, |
253 | 253 | "updated": { |
|
0 commit comments