Skip to content

Commit 788e3d9

Browse files
committed
add a set of complete, valid sample documents
1 parent b7e31d1 commit 788e3d9

9 files changed

Lines changed: 369 additions & 6 deletions

policy/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Versioning must be implemented as specified in the [Versioning section][versioni
3939

4040
## Background
4141

42-
The goal of this specification is to enable Agencies to create, revise, and publish machine-readable policies, as sets of rules for individual and collective device behavior exhibited by both _mobility as a service_ Providers and riders / users. [Examples](examples.md) of policies include:
42+
The goal of this specification is to enable Agencies to create, revise, and publish machine-readable policies, as sets of rules for individual and collective device behavior exhibited by both _mobility as a service_ Providers and riders / users. [Examples](./examples/README.md) of policies include:
4343

4444
- City-wide and localized caps (e.g. "Minimum 500 and maximum 3000 scooters within city boundaries")
4545
- Exclusion zones (e.g. "No scooters are permitted in this district on weekends")
@@ -50,7 +50,7 @@ The goal of this specification is to enable Agencies to create, revise, and publ
5050

5151
The machine-readable format allows Providers to obtain policies and compute compliance where it can be determined entirely by data obtained internally.
5252

53-
**See the [Policy Examples](examples.md) for ways these can be implemented.**
53+
**See the [Policy Examples](./examples/README.md) for ways these can be implemented.**
5454

5555
[Top][toc]
5656

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Examples
1+
# Policy Examples
22

3-
This file presents a series of [Policy object](./README.md#policy) examples for Agencies to use as templates.
3+
This file presents a series of example [Policy documents](../README.md#schema) for Agencies to use as templates.
44

55
## Table of Contents
66

@@ -16,8 +16,10 @@ This file presents a series of [Policy object](./README.md#policy) examples for
1616

1717
This Policy shows how to prohibit dockless vehicles from operating in a specific area. This is otherwise known as a "geofence". This geofence prohibits both:
1818

19-
* Operators from deploying devices
20-
* Users from renting / dropping devices off
19+
- Operators from deploying devices
20+
- Users from renting / dropping devices off
21+
22+
File: [`prohibited-zone.json`](prohibited-zone.json)
2123

2224
```json
2325
{
@@ -60,6 +62,8 @@ This Policy shows how to prohibit dockless vehicles from operating in a specific
6062

6163
This Policy defines a Provider cap to incentivize deployment inside disadvantaged communities.
6264

65+
File: [`provider-cap.json`](provider-cap.json)
66+
6367
```json
6468
{
6569
"name": "Test City Mobility Caps: Company X",
@@ -123,6 +127,8 @@ This Policy defines a Provider cap to incentivize deployment inside disadvantage
123127

124128
This Policy allows scooters and bikes can be in the public right-of-way for up to three days if rentable, and only one day if not.
125129

130+
File: [`idle-time.json`](idle-time.json)
131+
126132
```json
127133
{
128134
"policy_id": "a2c9a65f-fd85-463e-9564-fc95ea473f7d",
@@ -179,6 +185,8 @@ This Policy allows scooters and bikes can be in the public right-of-way for up t
179185

180186
This Policy sets a 15 MPH speed limit in greater LA, and a 10 MPH speed limit in Venice Beach on Saturday/Sunday from noon until midnight.
181187

188+
File: [`speed-limits.json`](speed-limits.json)
189+
182190
```json
183191
{
184192
"policy_id": "95645117-fd85-463e-a2c9-fc95ea47463e",
@@ -243,6 +251,8 @@ This Policy sets a 15 MPH speed limit in greater LA, and a 10 MPH speed limit in
243251

244252
This policy sets a 25 cent per-trip fee that is applied for trips that start in the municipal boundary.
245253

254+
File: [`per-trip-fees.json`](per-trip-fees.json)
255+
246256
```json
247257
{
248258
"policy_id": "d2567b3c-3071-48a6-bbeb-3424721dbd12",
@@ -279,6 +289,8 @@ This policy sets a 25 cent per-trip fee that is applied for trips that start in
279289

280290
This policy sets a Right-of-Way fee that is charged once a day for vehicles deployed in a given area. It charges a 25 cents per day for vehicles deployed downtown, and 5 cents per day for vehicles deployed in a historically underserved neighborhood. In the case where a vehicle is deployed twice in both areas in the same day, the higher fee would apply (because it appears first in the rules).
281291

292+
File: [`vehicle-row-fees.json`](vehicle-row-fees.json)
293+
282294
```json
283295
{
284296
"policy_id": "4137a47c-836a-11ea-bc55-0242ac130003",
@@ -331,6 +343,8 @@ This policy sets a Right-of-Way fee that is charged once a day for vehicles depl
331343

332344
This policy sets a 10 cent per hour metered parking charge that is applied while a vehicle is parked in a congested area during rush hour.
333345

346+
File: [`metered-parking-fees.json`](metered-parking-fees.json)
347+
334348
```json
335349
{
336350
"policy_id": "6a3dd008-836a-11ea-bc55-0242ac130003",

policy/examples/idle-time.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{
2+
"updated": 0,
3+
"version": "1.0.0",
4+
"data": {
5+
"policy": [
6+
{
7+
"policy_id": "a2c9a65f-fd85-463e-9564-fc95ea473f7d",
8+
"name": "Idle Times",
9+
"description": "LADOT Idle Time Limitations",
10+
"start_date": 1552678594428,
11+
"end_date": null,
12+
"published_date": 1558389669540,
13+
"prev_policies": null,
14+
"rules": [
15+
{
16+
"name": "Greater LA (rentable)",
17+
"rule_id": "e1942f2d-e5c7-46c4-94c7-293d4e481ed0",
18+
"rule_type": "time",
19+
"rule_units": "hours",
20+
"geographies": [
21+
"b4bcc213-4888-48ce-a33d-4dd6c3384bda"
22+
],
23+
"states": {
24+
"available": [],
25+
"reserved": []
26+
},
27+
"vehicle_types": [
28+
"bicycle",
29+
"scooter"
30+
],
31+
"maximum": 72
32+
},
33+
{
34+
"name": "Greater LA (non-rentable)",
35+
"rule_id": "a7eb28b9-969e-4c52-b18c-4243a96f7143",
36+
"rule_type": "time",
37+
"rule_units": "hours",
38+
"geographies": [
39+
"12b3fcf5-22af-4b0d-a169-ac7ac903d3b9"
40+
],
41+
"states": {
42+
"non_operational": [],
43+
"on_trip": []
44+
},
45+
"vehicle_types": [
46+
"bicycle",
47+
"scooter"
48+
],
49+
"maximum": 24
50+
}
51+
]
52+
}
53+
]
54+
}
55+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"updated": 0,
3+
"version": "1.0.0",
4+
"data": {
5+
"policy": [
6+
{
7+
"policy_id": "6a3dd008-836a-11ea-bc55-0242ac130003",
8+
"published_date": 1586736000000,
9+
"name": "Parking Fees",
10+
"description": "This policy sets a 10 cent per hour metered parking charge that is applied while a vehicle is parked in a congested area during rush hour.",
11+
"start_date": 1586822400000,
12+
"end_date": 1587427200000,
13+
"prev_policies": null,
14+
"rules": [
15+
{
16+
"rule_id": "0da40491-73eb-418f-9b3c-cf5f150775e8",
17+
"name": "Downtown Peak-Hour Parking Fee",
18+
"rule_type": "rate",
19+
"rate_amount": 10,
20+
"rate_recurrence": "per_complete_time_unit",
21+
"rule_units": "hours",
22+
"geographies": [
23+
"5473e836-b38a-4940-8b5e-0d506ca4e4a8"
24+
],
25+
"days": [
26+
"mon",
27+
"tue",
28+
"wed",
29+
"thu",
30+
"fri"
31+
],
32+
"start_time": "07:00:00",
33+
"end_time": "08:30:00",
34+
"states": {
35+
"available": [],
36+
"non_operational": []
37+
}
38+
}
39+
]
40+
}
41+
]
42+
}
43+
}

policy/examples/per-trip-fees.json

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"updated": 0,
3+
"version": "1.0.0",
4+
"data": {
5+
"policy": [
6+
{
7+
"policy_id": "d2567b3c-3071-48a6-bbeb-3424721dbd12",
8+
"published_date": 1586736000000,
9+
"name": "Trip Fees",
10+
"description": "This policy sets a 25 cent per-trip fee that is applied for trips that start in the municipal boundary.",
11+
"start_date": 1586822400000,
12+
"end_date": 1587427200000,
13+
"prev_policies": null,
14+
"rules": [
15+
{
16+
"name": "City Wide Trip Fee",
17+
"rule_id": "4137a47c-836a-11ea-bc55-0242ac130003",
18+
"rule_type": "rate",
19+
"rule_units": "amount",
20+
"rate_amount": 25,
21+
"rate_recurrence": "once",
22+
"geographies": [
23+
"b4bcc213-4888-48ce-a33d-4dd6c3384bda"
24+
],
25+
"states": {
26+
"on_trip": [
27+
"trip_start"
28+
]
29+
}
30+
}
31+
]
32+
}
33+
]
34+
}
35+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{
2+
"updated": 0,
3+
"version": "1.0.0",
4+
"data": {
5+
"policy": [
6+
{
7+
"policy_id": "39a653be-7180-4188-b1a6-cae33c280341",
8+
"name": "Prohibited Dockless Zones",
9+
"description": "Prohibited areas for dockless vehicles within the City of Los Angeles for the LADOT Dockless On-Demand Personal Mobility Program",
10+
"provider_ids": null,
11+
"start_date": 1552678594428,
12+
"end_date": null,
13+
"published_date": 1552678594428,
14+
"prev_policies": null,
15+
"rules": [
16+
{
17+
"name": "Prohibited Dockless Zones",
18+
"rule_id": "8ad39dc3-005b-4348-9d61-c830c54c161b",
19+
"rule_type": "count",
20+
"rule_units": "devices",
21+
"geographies": [
22+
"c0591267-bb6a-4f28-a612-ff7f4a8f8b2a"
23+
],
24+
"states": {
25+
"available": [],
26+
"non_operational": [],
27+
"reserved": [],
28+
"on_trip": []
29+
},
30+
"vehicle_types": [
31+
"bicycle",
32+
"scooter"
33+
],
34+
"maximum": 0
35+
}
36+
]
37+
}
38+
]
39+
}
40+
}

policy/examples/provider-cap.json

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"updated": 0,
3+
"version": "1.0.0",
4+
"data": {
5+
"policy": [
6+
{
7+
"name": "Test City Mobility Caps: Company X",
8+
"description": "Mobility caps as described in the One-Year Permit",
9+
"policy_id": "99f7a469-6e3a-4981-9313-c2f6c0bbd5ce",
10+
"provider_ids": [
11+
"2411d395-04f2-47c9-ab66-d09e9e3c3251"
12+
],
13+
"start_date": 1558389669540,
14+
"end_date": null,
15+
"published_date": 1558389669540,
16+
"prev_policies": null,
17+
"rules": [
18+
{
19+
"name": "Disadvantaged Community",
20+
"rule_id": "8a61de66-d9fa-4cba-a38d-5d948e2373fe",
21+
"rule_type": "count",
22+
"rule_units": "devices",
23+
"geographies": [
24+
"e3ed0a0e-61d3-4887-8b6a-4af4f3769c14"
25+
],
26+
"states": {
27+
"available": [],
28+
"non_operational": [],
29+
"reserved": [],
30+
"on_trip": []
31+
},
32+
"vehicle_types": [
33+
"bicycle",
34+
"scooter"
35+
],
36+
"maximum": 10000
37+
},
38+
{
39+
"name": "Not Disadvantaged Communities",
40+
"rule_id": "57d47e74-6aef-4f41-b0c5-79bb35aa5b9d",
41+
"rule_type": "count",
42+
"rule_units": "devices",
43+
"geographies": [
44+
"1f943d59-ccc9-4d91-b6e2-0c5e771cbc49"
45+
],
46+
"states": {
47+
"available": [],
48+
"non_operational": [],
49+
"reserved": [],
50+
"on_trip": []
51+
},
52+
"vehicle_types": [
53+
"bicycle",
54+
"scooter"
55+
],
56+
"maximum": 3000
57+
}
58+
]
59+
}
60+
]
61+
}
62+
}

0 commit comments

Comments
 (0)