{ "openapi": "3.0.4", "info": { "title": "Trip Planner API", "description": "API for retrieving Transit Trip Plans (beta, subject to change)", "version": "1" }, "paths": { "/tripplanner/findaddress/{magicKey}/{geolocator}": { "get": { "tags": [ "Planner" ], "parameters": [ { "name": "magicKey", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "geolocator", "in": "path", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FindAddressResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } }, "/tripplanner/moreinfo": { "post": { "tags": [ "Planner" ], "parameters": [ { "name": "moreInfo", "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } }, "/tripplanner/nearestlandmark": { "post": { "tags": [ "Planner" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NearestlandmarkInput" } }, "text/json": { "schema": { "$ref": "#/components/schemas/NearestlandmarkInput" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/NearestlandmarkInput" } } } }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } }, "/tripplanner/nearestparkandrides": { "post": { "tags": [ "Planner" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NearestparkandrideInput" } }, "text/json": { "schema": { "$ref": "#/components/schemas/NearestparkandrideInput" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/NearestparkandrideInput" } } } }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } }, "/tripplanner/plantrip": { "post": { "tags": [ "Planner" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlantripInput" } }, "text/json": { "schema": { "$ref": "#/components/schemas/PlantripInput" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/PlantripInput" } } } }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } }, "/tripplanner/routelandmarks": { "post": { "tags": [ "Planner" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RoutelandmarksInput" } }, "text/json": { "schema": { "$ref": "#/components/schemas/RoutelandmarksInput" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/RoutelandmarksInput" } } } }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } }, "/tripplanner/servicenearby": { "post": { "tags": [ "Planner" ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServicenearbyInput" } }, "text/json": { "schema": { "$ref": "#/components/schemas/ServicenearbyInput" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/ServicenearbyInput" } } } }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } }, "/tripplanner/suggest/{text}/{location}": { "get": { "tags": [ "Planner" ], "parameters": [ { "name": "text", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "location", "in": "path", "required": true, "schema": { "type": "string", "default": "" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Suggestion" } } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error" } } } } }, "components": { "schemas": { "FindAddressResponse": { "type": "object", "properties": { "address": { "type": "string", "nullable": true }, "atis_id": { "type": "string", "nullable": true }, "x": { "type": "number", "format": "double" }, "y": { "type": "number", "format": "double" } }, "additionalProperties": false }, "NearestlandmarkInput": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/PlannerLocation" }, "maxanswers": { "type": "integer", "format": "int32" }, "category": { "type": "string", "nullable": true } }, "additionalProperties": false }, "NearestparkandrideInput": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/PlannerLocation" } }, "additionalProperties": false }, "PlannerLocation": { "type": "object", "properties": { "description": { "type": "string", "nullable": true }, "point": { "$ref": "#/components/schemas/Point" }, "landmarkid": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "PlantripInput": { "type": "object", "properties": { "origin": { "$ref": "#/components/schemas/PlannerLocation" }, "destination": { "$ref": "#/components/schemas/PlannerLocation" }, "arrdep": { "type": "string", "nullable": true }, "walkdist": { "type": "number", "format": "double" }, "minimize": { "type": "string", "nullable": true }, "accessible": { "type": "boolean" }, "xmode": { "type": "string", "nullable": true }, "datetime": { "type": "string", "format": "date-time" } }, "additionalProperties": false }, "Point": { "type": "object", "properties": { "x": { "type": "number", "format": "double" }, "y": { "type": "number", "format": "double" } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string", "nullable": true }, "title": { "type": "string", "nullable": true }, "status": { "type": "integer", "format": "int32", "nullable": true }, "detail": { "type": "string", "nullable": true }, "instance": { "type": "string", "nullable": true } }, "additionalProperties": {} }, "RoutelandmarksInput": { "type": "object", "properties": { "route": { "type": "string", "nullable": true }, "category": { "type": "string", "nullable": true }, "noduplicates": { "type": "boolean" } }, "additionalProperties": false }, "ServicenearbyInput": { "type": "object", "properties": { "location": { "$ref": "#/components/schemas/PlannerLocation" }, "walkdist": { "type": "number", "format": "double" }, "accessible": { "type": "boolean" } }, "additionalProperties": false }, "Suggestion": { "type": "object", "properties": { "text": { "type": "string", "nullable": true }, "magic_key": { "type": "string", "nullable": true }, "geolocator": { "type": "integer", "format": "int32" } }, "additionalProperties": false } } }, "tags": [ { "name": "Planner" } ] }