Skip to content

OpenApi Specification

moh-hassan edited this page Sep 11, 2022 · 2 revisions

The OpenAPI Specification (OAS) defines a standard, language-agnostic interface to RESTful APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code more info.

OpenApi specification can be generated using the open O (uppcase) or --open-api <filename>

Filename can be json format with extension ".json' or yaml/yml format. e.g. swagger.json / swagger.yaml

Example

o2pgen -r https://services.odata.org/TripPinRESTierService -O swagger.json -v

Or

o2pgen -r https://services.odata.org/TripPinRESTierService --open-api swagger.json

Only files with extenson .json /.yaml/yml are allowed.

Click to show generated OpenApi json format
{
  "openapi": "3.0.1",
  "info": {
    "title": "TripPin service is a sample service for OData V4.",
    "description": "This OData service is located at http://localhost",
    "version": "1.0.1"
  },
  "servers": [
    {
      "url": "http://localhost"
    }
  ],
  "paths": {
    "/Airlines": {
      "description": "Provides operations to manage the collection of Airline entities.",
      "get": {
        "tags": [
          "Airlines.Airline"
        ],
        "summary": "Get entities from Airlines",
        "operationId": "Airlines.Airline.ListAirline",
        "parameters": [
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "AirlineCode",
                  "AirlineCode desc",
                  "Name",
                  "Name desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "AirlineCode",
                  "Name"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Ai
rlineCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      },
      "post": {
        "tags": [
          "Airlines.Airline"
        ],
        "summary": "Add new entity to Airlines",
        "operationId": "Airlines.Airline.CreateAirline",
        "requestBody": {
          "description": "New entity",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Airline"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Airline"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Airlines({AirlineCode})": {
      "description": "Provides operations to manage the collection of Airline entities.",
      "get": {
        "tags": [
          "Airlines.Airline"
        ],
        "summary": "Get entity from Airlines by key",
        "operationId": "Airlines.Airline.GetAirline",
        "parameters": [
          {
            "name": "AirlineCode",
            "in": "path",
            "description": "key: AirlineCode of Airline",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Airline"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "AirlineCode",
                  "Name"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Airline"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "patch": {
        "tags": [
          "Airlines.Airline"
        ],
        "summary": "Update entity in Airlines",
        "operationId": "Airlines.Airline.UpdateAirline",
        "parameters": [
          {
            "name": "AirlineCode",
            "in": "path",
            "description": "key: AirlineCode of Airline",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Airline"
          }
        ],
        "requestBody": {
          "description": "New property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Airline"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "delete": {
        "tags": [
          "Airlines.Airline"
        ],
        "summary": "Delete entity from Airlines",
        "operationId": "Airlines.Airline.DeleteAirline",
        "parameters": [
          {
            "name": "AirlineCode",
            "in": "path",
            "description": "key: AirlineCode of Airline",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Airline"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "ETag",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Airlines/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.Airlines-27a7",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/Airports": {
      "description": "Provides operations to manage the collection of Airport entities.",
      "get": {
        "tags": [
          "Airports.Airport"
        ],
        "summary": "Get entities from Airports",
        "operationId": "Airports.Airport.ListAirport",
        "parameters": [
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "IcaoCode",
                  "IcaoCode desc",
                  "Name",
                  "Name desc",
                  "IataCode",
                  "IataCode desc",
                  "Location",
                  "Location desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "IcaoCode",
                  "Name",
                  "IataCode",
                  "Location"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Ai
rportCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/Airports({IcaoCode})": {
      "description": "Provides operations to manage the collection of Airport entities.",
      "get": {
        "tags": [
          "Airports.Airport"
        ],
        "summary": "Get entity from Airports by key",
        "operationId": "Airports.Airport.GetAirport",
        "parameters": [
          {
            "name": "IcaoCode",
            "in": "path",
            "description": "key: IcaoCode of Airport",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Airport"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "IcaoCode",
                  "Name",
                  "IataCode",
                  "Location"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Airport"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "patch": {
        "tags": [
          "Airports.Airport"
        ],
        "summary": "Update entity in Airports",
        "operationId": "Airports.Airport.UpdateAirport",
        "parameters": [
          {
            "name": "IcaoCode",
            "in": "path",
            "description": "key: IcaoCode of Airport",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Airport"
          }
        ],
        "requestBody": {
          "description": "New property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Airport"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Airports/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.Airports-60cc",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/GetNearestAirport(lat={lat},lon={lon})": {
      "description": "Provides operations to call the GetNearestAirport method.",
      "get": {
        "tags": [
          "Airports"
        ],
        "summary": "Invoke functionImport GetNearestAirport",
        "operationId": "FunctionImport.GetNearestAirport",
        "parameters": [
          {
            "name": "lat",
            "in": "path",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                },
                {
                  "enum": [
                    "-INF",
                    "INF",
                    "NaN"
                  ]
                }
              ],
              "format": "double"
            }
          },
          {
            "name": "lon",
            "in": "path",
            "required": true,
            "schema": {
              "anyOf": [
                {
                  "type": "number"
                },
                {
                  "type": "string"
                },
                {
                  "enum": [
                    "-INF",
                    "INF",
                    "NaN"
                  ]
                }
              ],
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Airport"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "functionImport"
      }
    },
    "/Me": {
      "description": "Provides operations to manage the Person singleton.",
      "get": {
        "tags": [
          "Me.Person"
        ],
        "summary": "Get Me",
        "operationId": "Me.Person.GetPerson",
        "parameters": [
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "UserName",
                  "FirstName",
                  "LastName",
                  "Emails",
                  "AddressInfo",
                  "Gender",
                  "Concurrency",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Person"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "patch": {
        "tags": [
          "Me.Person"
        ],
        "summary": "Update Me",
        "operationId": "Me.Person.UpdatePerson",
        "requestBody": {
          "description": "New property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Person"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Friends": {
      "description": "Provides operations to manage the Friends property of the Microsoft.O
Data.SampleService.Models.TripPin.Person entity.",
      "get": {
        "tags": [
          "Me.Person"
        ],
        "summary": "Get Friends from Me",
        "operationId": "Me.ListFriends",
        "parameters": [
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "UserName",
                  "UserName desc",
                  "FirstName",
                  "FirstName desc",
                  "LastName",
                  "LastName desc",
                  "Emails",
                  "Emails desc",
                  "AddressInfo",
                  "AddressInfo desc",
                  "Gender",
                  "Gender desc",
                  "Concurrency",
                  "Concurrency desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "UserName",
                  "FirstName",
                  "LastName",
                  "Emails",
                  "AddressInfo",
                  "Gender",
                  "Concurrency",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Pe
rsonCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Friends({UserName})": {
      "description": "Provides operations to manage the Friends property of the Microsoft.O
Data.SampleService.Models.TripPin.Person entity.",
      "get": {
        "tags": [
          "Me.Person"
        ],
        "summary": "Get Friends from Me",
        "operationId": "Me.GetFriends",
        "parameters": [
          {
            "name": "UserName",
            "in": "path",
            "description": "key: UserName of Person",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Person"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "UserName",
                  "FirstName",
                  "LastName",
                  "Emails",
                  "AddressInfo",
                  "Gender",
                  "Concurrency",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved navigation property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Person"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Friends/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.Friends-182b",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/Me/Microsoft.OData.SampleService.Models.TripPin.GetFavoriteAirline()": {
      "description": "Provides operations to call the GetFavoriteAirline method.",
      "get": {
        "tags": [
          "Me.Functions"
        ],
        "summary": "Invoke function GetFavoriteAirline",
        "operationId": "Me.GetFavoriteAirline",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Airline"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "function"
      }
    },
    "/Me/Microsoft.OData.SampleService.Models.TripPin.GetFriendsTrips(userName={userName})"
: {
      "description": "Provides operations to call the GetFriendsTrips method.",
      "get": {
        "tags": [
          "Me.Functions"
        ],
        "summary": "Invoke function GetFriendsTrips",
        "operationId": "Me.GetFriendsTrips",
        "parameters": [
          {
            "name": "userName",
            "in": "path",
            "description": "Usage: userName={userName}",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Collection of Person",
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.
TripPin.Trip"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "function"
      }
    },
    "/Me/Microsoft.OData.SampleService.Models.TripPin.ShareTrip": {
      "description": "Provides operations to call the ShareTrip method.",
      "post": {
        "tags": [
          "Me.Actions"
        ],
        "summary": "Invoke action ShareTrip",
        "operationId": "Me.ShareTrip",
        "requestBody": {
          "description": "Action parameters",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userName": {
                    "type": "string"
                  },
                  "tripId": {
                    "maximum": 2147483647,
                    "minimum": -2147483648,
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "action"
      }
    },
    "/Me/Photo": {
      "description": "Provides operations to manage the Photo property of the Microsoft.ODa
ta.SampleService.Models.TripPin.Person entity.",
      "get": {
        "tags": [
          "Me.Photo"
        ],
        "summary": "Get Photo from Me",
        "operationId": "Me.GetPhoto",
        "parameters": [
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "Id",
                  "Name"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved navigation property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Photo"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Photo/$value": {
      "description": "Provides operations to manage the media for the Person entity.",
      "get": {
        "tags": [
          "Me.Photo"
        ],
        "summary": "Get media content for the navigation property Photo from Me",
        "operationId": "Me.GetPhotoContent",
        "responses": {
          "200": {
            "description": "Retrieved media content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "put": {
        "tags": [
          "Me.Photo"
        ],
        "summary": "Update media content for the navigation property Photo in Me",
        "operationId": "Me.UpdatePhotoContent",
        "requestBody": {
          "description": "New media content.",
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips": {
      "description": "Provides operations to manage the Trips property of the Microsoft.ODa
ta.SampleService.Models.TripPin.Person entity.",
      "get": {
        "tags": [
          "Me.Trip"
        ],
        "summary": "Get Trips from Me",
        "operationId": "Me.ListTrips",
        "parameters": [
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "TripId",
                  "TripId desc",
                  "ShareId",
                  "ShareId desc",
                  "Description",
                  "Description desc",
                  "Name",
                  "Name desc",
                  "Budget",
                  "Budget desc",
                  "StartsAt",
                  "StartsAt desc",
                  "EndsAt",
                  "EndsAt desc",
                  "Tags",
                  "Tags desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "TripId",
                  "ShareId",
                  "Description",
                  "Name",
                  "Budget",
                  "StartsAt",
                  "EndsAt",
                  "Tags",
                  "Photos",
                  "PlanItems"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*",
                  "Photos",
                  "PlanItems"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Tr
ipCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "post": {
        "tags": [
          "Me.Trip"
        ],
        "summary": "Create new navigation property to Trips for Me",
        "operationId": "Me.CreateTrips",
        "requestBody": {
          "description": "New navigation property",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Trip"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created navigation property.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Trip"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips({TripId})": {
      "description": "Provides operations to manage the Trips property of the Microsoft.ODa
ta.SampleService.Models.TripPin.Person entity.",
      "get": {
        "tags": [
          "Me.Trip"
        ],
        "summary": "Get Trips from Me",
        "operationId": "Me.GetTrips",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "TripId",
                  "ShareId",
                  "Description",
                  "Name",
                  "Budget",
                  "StartsAt",
                  "EndsAt",
                  "Tags",
                  "Photos",
                  "PlanItems"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*",
                  "Photos",
                  "PlanItems"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved navigation property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Trip"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "patch": {
        "tags": [
          "Me.Trip"
        ],
        "summary": "Update the navigation property Trips in Me",
        "operationId": "Me.UpdateTrips",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          }
        ],
        "requestBody": {
          "description": "New navigation property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Trip"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "delete": {
        "tags": [
          "Me.Trip"
        ],
        "summary": "Delete navigation property Trips for Me",
        "operationId": "Me.DeleteTrips",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "ETag",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips({TripId})/Microsoft.OData.SampleService.Models.TripPin.GetInvolvedPeople()":
 {
      "description": "Provides operations to call the GetInvolvedPeople method.",
      "get": {
        "tags": [
          "Me.Functions"
        ],
        "summary": "Invoke function GetInvolvedPeople",
        "operationId": "Me.Trips.Trip.GetInvolvedPeople",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Collection of Trip",
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.
TripPin.Person"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "function"
      }
    },
    "/Me/Trips({TripId})/Photos": {
      "description": "Provides operations to manage the Photos property of the Microsoft.OD
ata.SampleService.Models.TripPin.Trip entity.",
      "get": {
        "tags": [
          "Me.Trips.Photo"
        ],
        "summary": "Get Photos from Me",
        "operationId": "Me.Trips.ListPhotos",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "Id",
                  "Id desc",
                  "Name",
                  "Name desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "Id",
                  "Name"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Ph
otoCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips({TripId})/Photos({Id})": {
      "description": "Provides operations to manage the Photos property of the Microsoft.OD
ata.SampleService.Models.TripPin.Trip entity.",
      "get": {
        "tags": [
          "Me.Trips.Photo"
        ],
        "summary": "Get Photos from Me",
        "operationId": "Me.Trips.GetPhotos",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "Id",
                  "Name"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved navigation property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Photo"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips({TripId})/Photos({Id})/$value": {
      "description": "Provides operations to manage the media for the Person entity.",
      "get": {
        "tags": [
          "Me.Trips.Photo"
        ],
        "summary": "Get media content for the navigation property Photos from Me",
        "operationId": "Me.Trips.GetPhotosContent",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved media content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "put": {
        "tags": [
          "Me.Trips.Photo"
        ],
        "summary": "Update media content for the navigation property Photos in Me",
        "operationId": "Me.Trips.UpdatePhotosContent",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          }
        ],
        "requestBody": {
          "description": "New media content.",
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips({TripId})/Photos/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.Photos-11e6",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/Me/Trips({TripId})/PlanItems": {
      "description": "Provides operations to manage the PlanItems property of the Microsoft
.OData.SampleService.Models.TripPin.Trip entity.",
      "get": {
        "tags": [
          "Me.Trips.PlanItem"
        ],
        "summary": "Get PlanItems from Me",
        "operationId": "Me.Trips.ListPlanItems",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "PlanItemId",
                  "PlanItemId desc",
                  "ConfirmationCode",
                  "ConfirmationCode desc",
                  "StartsAt",
                  "StartsAt desc",
                  "EndsAt",
                  "EndsAt desc",
                  "Duration",
                  "Duration desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "PlanItemId",
                  "ConfirmationCode",
                  "StartsAt",
                  "EndsAt",
                  "Duration"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Pl
anItemCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "post": {
        "tags": [
          "Me.Trips.PlanItem"
        ],
        "summary": "Create new navigation property to PlanItems for Me",
        "operationId": "Me.Trips.CreatePlanItems",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          }
        ],
        "requestBody": {
          "description": "New navigation property",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
PlanItem"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created navigation property.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.PlanItem"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips({TripId})/PlanItems({PlanItemId})": {
      "description": "Provides operations to manage the PlanItems property of the Microsoft
.OData.SampleService.Models.TripPin.Trip entity.",
      "get": {
        "tags": [
          "Me.Trips.PlanItem"
        ],
        "summary": "Get PlanItems from Me",
        "operationId": "Me.Trips.GetPlanItems",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "PlanItemId",
            "in": "path",
            "description": "key: PlanItemId of PlanItem",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "PlanItem"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "PlanItemId",
                  "ConfirmationCode",
                  "StartsAt",
                  "EndsAt",
                  "Duration"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved navigation property",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.PlanItem"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "patch": {
        "tags": [
          "Me.Trips.PlanItem"
        ],
        "summary": "Update the navigation property PlanItems in Me",
        "operationId": "Me.Trips.UpdatePlanItems",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "PlanItemId",
            "in": "path",
            "description": "key: PlanItemId of PlanItem",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "PlanItem"
          }
        ],
        "requestBody": {
          "description": "New navigation property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
PlanItem"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "delete": {
        "tags": [
          "Me.Trips.PlanItem"
        ],
        "summary": "Delete navigation property PlanItems for Me",
        "operationId": "Me.Trips.DeletePlanItems",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          },
          {
            "name": "PlanItemId",
            "in": "path",
            "description": "key: PlanItemId of PlanItem",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "PlanItem"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "ETag",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Me/Trips({TripId})/PlanItems/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.PlanItems-c250",
        "parameters": [
          {
            "name": "TripId",
            "in": "path",
            "description": "key: TripId of Trip",
            "required": true,
            "schema": {
              "maximum": 2147483647,
              "minimum": -2147483648,
              "type": "integer",
              "format": "int32"
            },
            "x-ms-docs-key-type": "Trip"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/Me/Trips/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.Trips-7b69",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/People": {
      "description": "Provides operations to manage the collection of Person entities.",
      "get": {
        "tags": [
          "People.Person"
        ],
        "summary": "Get entities from People",
        "operationId": "People.Person.ListPerson",
        "parameters": [
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "UserName",
                  "UserName desc",
                  "FirstName",
                  "FirstName desc",
                  "LastName",
                  "LastName desc",
                  "Emails",
                  "Emails desc",
                  "AddressInfo",
                  "AddressInfo desc",
                  "Gender",
                  "Gender desc",
                  "Concurrency",
                  "Concurrency desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Pe
rsonCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      },
      "post": {
        "tags": [
          "People.Person"
        ],
        "summary": "Add new entity to People",
        "operationId": "People.Person.CreatePerson",
        "requestBody": {
          "description": "New entity",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Person"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Person"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/People({UserName})": {
      "description": "Provides operations to manage the collection of Person entities.",
      "get": {
        "tags": [
          "People.Person"
        ],
        "summary": "Get entity from People by key",
        "operationId": "People.Person.GetPerson",
        "parameters": [
          {
            "name": "UserName",
            "in": "path",
            "description": "key: UserName of Person",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Person"
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*",
                  "Friends",
                  "Trips",
                  "Photo"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Person"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "patch": {
        "tags": [
          "People.Person"
        ],
        "summary": "Update entity in People",
        "operationId": "People.Person.UpdatePerson",
        "parameters": [
          {
            "name": "UserName",
            "in": "path",
            "description": "key: UserName of Person",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Person"
          }
        ],
        "requestBody": {
          "description": "New property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Person"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "delete": {
        "tags": [
          "People.Person"
        ],
        "summary": "Delete entity from People",
        "operationId": "People.Person.DeletePerson",
        "parameters": [
          {
            "name": "UserName",
            "in": "path",
            "description": "key: UserName of Person",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Person"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "ETag",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/People({UserName})/Microsoft.OData.SampleService.Models.TripPin.GetFavoriteAirline()"
: {
      "description": "Provides operations to call the GetFavoriteAirline method.",
      "get": {
        "tags": [
          "People.Functions"
        ],
        "summary": "Invoke function GetFavoriteAirline",
        "operationId": "People.Person.GetFavoriteAirline",
        "parameters": [
          {
            "name": "UserName",
            "in": "path",
            "description": "key: UserName of Person",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Person"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Airline"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "function"
      }
    },
    "/People({UserName})/Microsoft.OData.SampleService.Models.TripPin.GetFriendsTrips(userN
ame={userName})": {
      "description": "Provides operations to call the GetFriendsTrips method.",
      "get": {
        "tags": [
          "People.Functions"
        ],
        "summary": "Invoke function GetFriendsTrips",
        "operationId": "People.Person.GetFriendsTrips",
        "parameters": [
          {
            "name": "UserName",
            "in": "path",
            "description": "key: UserName of Person",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Person"
          },
          {
            "name": "userName",
            "in": "path",
            "description": "Usage: userName={userName}",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Collection of Person",
                  "type": "object",
                  "properties": {
                    "value": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.
TripPin.Trip"
                      }
                    }
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "function"
      }
    },
    "/People({UserName})/Microsoft.OData.SampleService.Models.TripPin.ShareTrip": {
      "description": "Provides operations to call the ShareTrip method.",
      "post": {
        "tags": [
          "People.Actions"
        ],
        "summary": "Invoke action ShareTrip",
        "operationId": "People.Person.ShareTrip",
        "parameters": [
          {
            "name": "UserName",
            "in": "path",
            "description": "key: UserName of Person",
            "required": true,
            "schema": {
              "type": "string"
            },
            "x-ms-docs-key-type": "Person"
          }
        ],
        "requestBody": {
          "description": "Action parameters",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userName": {
                    "type": "string"
                  },
                  "tripId": {
                    "maximum": 2147483647,
                    "minimum": -2147483648,
                    "type": "integer",
                    "format": "int32"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "action"
      }
    },
    "/People/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.People-dd8d",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/Photos": {
      "description": "Provides operations to manage the collection of Photo entities.",
      "get": {
        "tags": [
          "Photos.Photo"
        ],
        "summary": "Get entities from Photos",
        "operationId": "Photos.Photo.ListPhoto",
        "parameters": [
          {
            "$ref": "#/components/parameters/top"
          },
          {
            "$ref": "#/components/parameters/skip"
          },
          {
            "$ref": "#/components/parameters/search"
          },
          {
            "$ref": "#/components/parameters/filter"
          },
          {
            "$ref": "#/components/parameters/count"
          },
          {
            "name": "$orderby",
            "in": "query",
            "description": "Order items by property values",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "Id",
                  "Id desc",
                  "Name",
                  "Name desc"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "Id",
                  "Name"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Microsoft.OData.SampleService.Models.TripPin.Ph
otoCollectionResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      },
      "post": {
        "tags": [
          "Photos.Photo"
        ],
        "summary": "Add new entity to Photos",
        "operationId": "Photos.Photo.CreatePhoto",
        "requestBody": {
          "description": "New entity",
          "content": {
            "image/jpeg": null,
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Photo"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created entity",
            "content": {
              "image/jpeg": null,
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Photo"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Photos({Id})": {
      "description": "Provides operations to manage the collection of Photo entities.",
      "get": {
        "tags": [
          "Photos.Photo"
        ],
        "summary": "Get entity from Photos by key",
        "operationId": "Photos.Photo.GetPhoto",
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          },
          {
            "name": "$select",
            "in": "query",
            "description": "Select properties to be returned",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "Id",
                  "Name"
                ],
                "type": "string"
              }
            }
          },
          {
            "name": "$expand",
            "in": "query",
            "description": "Expand related entities",
            "style": "form",
            "explode": false,
            "schema": {
              "uniqueItems": true,
              "type": "array",
              "items": {
                "enum": [
                  "*"
                ],
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Photo"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "patch": {
        "tags": [
          "Photos.Photo"
        ],
        "summary": "Update entity in Photos",
        "operationId": "Photos.Photo.UpdatePhoto",
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          }
        ],
        "requestBody": {
          "description": "New property values",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Photo"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "delete": {
        "tags": [
          "Photos.Photo"
        ],
        "summary": "Delete entity from Photos",
        "operationId": "Photos.Photo.DeletePhoto",
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "ETag",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Photos({Id})/$value": {
      "description": "Provides operations to manage the media for the Photo entity.",
      "get": {
        "tags": [
          "Photos.Photo"
        ],
        "summary": "Get media content for Photo from Photos",
        "operationId": "Photos.Photo.GetContent",
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved media content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      },
      "put": {
        "tags": [
          "Photos.Photo"
        ],
        "summary": "Update media content for Photo in Photos",
        "operationId": "Photos.Photo.UpdateContent",
        "parameters": [
          {
            "name": "Id",
            "in": "path",
            "description": "key: Id of Photo",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "x-ms-docs-key-type": "Photo"
          }
        ],
        "requestBody": {
          "description": "New media content.",
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "operation"
      }
    },
    "/Photos/$count": {
      "description": "Provides operations to count the resources in the collection.",
      "get": {
        "summary": "Get the number of the resource",
        "operationId": "Get.Count.Photos-a760",
        "responses": {
          "200": {
            "$ref": "#/components/responses/ODataCountResponse"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        }
      }
    },
    "/ResetDataSource": {
      "description": "Provides operations to call the ResetDataSource method.",
      "post": {
        "tags": [
          "ResetDataSource"
        ],
        "summary": "Invoke actionImport ResetDataSource",
        "operationId": "ActionImport.ResetDataSource",
        "responses": {
          "204": {
            "description": "Success"
          },
          "default": {
            "$ref": "#/components/responses/error"
          }
        },
        "x-ms-docs-operation-type": "actionImport"
      }
    }
  },
  "components": {
    "schemas": {
      "Microsoft.OData.SampleService.Models.TripPin.City": {
        "title": "City",
        "type": "object",
        "properties": {
          "CountryRegion": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "Region": {
            "type": "string"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Location": {
        "title": "Location",
        "type": "object",
        "properties": {
          "Address": {
            "type": "string"
          },
          "City": {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.City
"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.EventLocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Loca
tion"
          },
          {
            "title": "EventLocation",
            "type": "object",
            "properties": {
              "BuildingInfo": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Microsoft.OData.SampleService.Models.TripPin.AirportLocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Loca
tion"
          },
          {
            "title": "AirportLocation",
            "type": "object",
            "properties": {
              "Loc": {
                "$ref": "#/components/schemas/Edm.GeographyPoint"
              }
            }
          }
        ]
      },
      "Microsoft.OData.SampleService.Models.TripPin.Photo": {
        "title": "Photo",
        "type": "object",
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int64"
          },
          "Name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Person": {
        "title": "Person",
        "type": "object",
        "properties": {
          "UserName": {
            "type": "string"
          },
          "FirstName": {
            "type": "string"
          },
          "LastName": {
            "type": "string"
          },
          "Emails": {
            "type": "array",
            "items": {
              "type": "string",
              "nullable": true
            }
          },
          "AddressInfo": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPi
n.Location"
                },
                {
                  "type": "object",
                  "nullable": true
                }
              ]
            }
          },
          "Gender": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
PersonGender"
              },
              {
                "type": "object",
                "nullable": true
              }
            ]
          },
          "Concurrency": {
            "type": "integer",
            "format": "int64"
          },
          "Friends": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pe
rson"
            }
          },
          "Trips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Tr
ip"
            }
          },
          "Photo": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Photo"
              },
              {
                "type": "object",
                "nullable": true
              }
            ]
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Airline": {
        "title": "Airline",
        "type": "object",
        "properties": {
          "AirlineCode": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Airport": {
        "title": "Airport",
        "type": "object",
        "properties": {
          "IcaoCode": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "IataCode": {
            "type": "string"
          },
          "Location": {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Airp
ortLocation"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PlanItem": {
        "title": "PlanItem",
        "type": "object",
        "properties": {
          "PlanItemId": {
            "maximum": 2147483647,
            "minimum": -2147483648,
            "type": "integer",
            "format": "int32"
          },
          "ConfirmationCode": {
            "type": "string",
            "nullable": true
          },
          "StartsAt": {
            "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-
3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EndsAt": {
            "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-
3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Duration": {
            "pattern": "^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+([.][0-9]+)?S)?)?$",
            "type": "string",
            "format": "duration",
            "nullable": true
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PublicTransportation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Plan
Item"
          },
          {
            "title": "PublicTransportation",
            "type": "object",
            "properties": {
              "SeatNumber": {
                "type": "string",
                "nullable": true
              }
            }
          }
        ]
      },
      "Microsoft.OData.SampleService.Models.TripPin.Flight": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Publ
icTransportation"
          },
          {
            "title": "Flight",
            "type": "object",
            "properties": {
              "FlightNumber": {
                "type": "string"
              },
              "From": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Airport"
              },
              "To": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Airport"
              },
              "Airline": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
Airline"
              }
            }
          }
        ]
      },
      "Microsoft.OData.SampleService.Models.TripPin.Event": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Plan
Item"
          },
          {
            "title": "Event",
            "type": "object",
            "properties": {
              "Description": {
                "type": "string",
                "nullable": true
              },
              "OccursAt": {
                "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.
EventLocation"
              }
            }
          }
        ]
      },
      "Microsoft.OData.SampleService.Models.TripPin.Trip": {
        "title": "Trip",
        "type": "object",
        "properties": {
          "TripId": {
            "maximum": 2147483647,
            "minimum": -2147483648,
            "type": "integer",
            "format": "int32"
          },
          "ShareId": {
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-
fA-F]{12}$",
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "Name": {
            "type": "string"
          },
          "Budget": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string"
              },
              {
                "enum": [
                  "-INF",
                  "INF",
                  "NaN"
                ]
              }
            ],
            "format": "float"
          },
          "StartsAt": {
            "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-
3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
            "type": "string",
            "format": "date-time"
          },
          "EndsAt": {
            "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-
3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
            "type": "string",
            "format": "date-time"
          },
          "Tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "Photos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ph
oto"
            }
          },
          "PlanItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pl
anItem"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PersonGender": {
        "title": "PersonGender",
        "enum": [
          "Male",
          "Female",
          "Unknown"
        ],
        "type": "string"
      },
      "Edm.Geography": {
        "$ref": "#/components/schemas/Edm.Geometry"
      },
      "Edm.GeographyPoint": {
        "$ref": "#/components/schemas/Edm.GeometryPoint"
      },
      "Edm.GeographyLineString": {
        "$ref": "#/components/schemas/Edm.GeometryLineString"
      },
      "Edm.GeographyPolygon": {
        "$ref": "#/components/schemas/Edm.GeometryPolygon"
      },
      "Edm.GeographyMultiPoint": {
        "$ref": "#/components/schemas/Edm.GeometryMultiPoint"
      },
      "Edm.GeographyMultiLineString": {
        "$ref": "#/components/schemas/Edm.GeometryMultiLineString"
      },
      "Edm.GeographyMultiPolygon": {
        "$ref": "#/components/schemas/Edm.GeometryMultiPolygon"
      },
      "Edm.GeographyCollection": {
        "$ref": "#/components/schemas/Edm.GeometryCollection"
      },
      "Edm.Geometry": {
        "type": "object",
        "anyOf": [
          {
            "$ref": "#/components/schemas/Edm.GeometryPoint"
          },
          {
            "$ref": "#/components/schemas/Edm.GeometryLineString"
          },
          {
            "$ref": "#/components/schemas/Edm.GeometryPolygon"
          },
          {
            "$ref": "#/components/schemas/Edm.GeometryMultiPoint"
          },
          {
            "$ref": "#/components/schemas/Edm.GeometryMultiLineString"
          },
          {
            "$ref": "#/components/schemas/Edm.GeometryMultiPolygon"
          },
          {
            "$ref": "#/components/schemas/Edm.GeometryCollection"
          }
        ]
      },
      "Edm.GeometryPoint": {
        "required": [
          "type",
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "Point"
            ],
            "type": "string",
            "default": "Point"
          },
          "coordinates": {
            "$ref": "#/components/schemas/GeoJSON.position"
          }
        }
      },
      "Edm.GeometryLineString": {
        "required": [
          "type",
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "LineString"
            ]
          },
          "coordinates": {
            "minItems": 2,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoJSON.position"
            }
          }
        }
      },
      "Edm.GeometryPolygon": {
        "required": [
          "type",
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "Polygon"
            ]
          },
          "coordinates": {
            "minItems": 4,
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/GeoJSON.position"
              }
            }
          }
        }
      },
      "Edm.GeometryMultiPoint": {
        "required": [
          "type",
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "MultiPoint"
            ]
          },
          "coordinates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoJSON.position"
            }
          }
        }
      },
      "Edm.GeometryMultiLineString": {
        "required": [
          "type",
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "MultiLineString"
            ]
          },
          "coordinates": {
            "minItems": 2,
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/GeoJSON.position"
              }
            }
          }
        }
      },
      "Edm.GeometryMultiPolygon": {
        "required": [
          "type",
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "MultiPolygon"
            ]
          },
          "coordinates": {
            "minItems": 4,
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GeoJSON.position"
                }
              }
            }
          }
        }
      },
      "Edm.GeometryCollection": {
        "required": [
          "type",
          "coordinates"
        ],
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "GeometryCollection"
            ]
          },
          "coordinates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Edm.Geometry"
            }
          }
        }
      },
      "GeoJSON.position": {
        "minItems": 2,
        "type": "array",
        "items": {
          "type": "number"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.ODataErrors.ODataError": {
        "required": [
          "error"
        ],
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.ODat
aErrors.MainError"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.ODataErrors.MainError": {
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "target": {
            "type": "string",
            "nullable": true
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.OD
ataErrors.ErrorDetails"
            }
          },
          "innererror": {
            "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.ODat
aErrors.InnerError"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.ODataErrors.ErrorDetails": {
        "required": [
          "code",
          "message"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "target": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.ODataErrors.InnerError": {
        "type": "object",
        "description": "The structure of this object is service-specific"
      },
      "ODataCountResponse": {
        "type": "integer",
        "format": "int32"
      },
      "Microsoft.OData.SampleService.Models.TripPin.PhotoCollectionResponse": {
        "title": "Collection of Photo",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ph
oto"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PersonCollectionResponse": {
        "title": "Collection of Person",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pe
rson"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.AirlineCollectionResponse": {
        "title": "Collection of Airline",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ai
rline"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.AirportCollectionResponse": {
        "title": "Collection of Airport",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ai
rport"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.TripCollectionResponse": {
        "title": "Collection of Trip",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Tr
ip"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PlanItemCollectionResponse": {
        "title": "Collection of PlanItem",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pl
anItem"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PublicTransportationCollectionResponse"
: {
        "title": "Collection of PublicTransportation",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pu
blicTransportation"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.FlightCollectionResponse": {
        "title": "Collection of Flight",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Fl
ight"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.EventCollectionResponse": {
        "title": "Collection of Event",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ev
ent"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.LocationCollectionResponse": {
        "title": "Collection of Microsoft.OData.SampleService.Models.TripPin.Location",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Lo
cation"
            }
          }
        }
      },
      "StringCollectionResponse": {
        "title": "Collection of string",
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ReferenceUpdate": {
        "type": "object",
        "properties": {
          "@odata.id": {
            "type": "string"
          },
          "@odata.type": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ReferenceCreate": {
        "type": "object",
        "properties": {
          "@odata.id": {
            "type": "string"
          }
        },
        "additionalProperties": {
          "type": "object"
        }
      }
    },
    "responses": {
      "error": {
        "description": "error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.OD
ataErrors.ODataError"
            }
          }
        }
      },
      "ODataCountResponse": {
        "description": "The count of the resource",
        "content": {
          "text/plain": {
            "schema": {
              "$ref": "#/components/schemas/ODataCountResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PhotoCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ph
otoCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PersonCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pe
rsonCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.AirlineCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ai
rlineCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.AirportCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ai
rportCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.TripCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Tr
ipCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PlanItemCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pl
anItemCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PublicTransportationCollectionResponse"
: {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Pu
blicTransportationCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.FlightCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Fl
ightCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.EventCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Ev
entCollectionResponse"
            }
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.LocationCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Microsoft.OData.SampleService.Models.TripPin.Lo
cationCollectionResponse"
            }
          }
        }
      },
      "StringCollectionResponse": {
        "description": "Retrieved collection",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/StringCollectionResponse"
            }
          }
        }
      }
    },
    "parameters": {
      "top": {
        "name": "$top",
        "in": "query",
        "description": "Show only the first n items",
        "schema": {
          "minimum": 0,
          "type": "integer"
        },
        "example": 50
      },
      "skip": {
        "name": "$skip",
        "in": "query",
        "description": "Skip the first n items",
        "schema": {
          "minimum": 0,
          "type": "integer"
        }
      },
      "count": {
        "name": "$count",
        "in": "query",
        "description": "Include count of items",
        "schema": {
          "type": "boolean"
        }
      },
      "filter": {
        "name": "$filter",
        "in": "query",
        "description": "Filter items by property values",
        "schema": {
          "type": "string"
        }
      },
      "search": {
        "name": "$search",
        "in": "query",
        "description": "Search items by search phrases",
        "schema": {
          "type": "string"
        }
      }
    },
    "examples": {
      "Microsoft.OData.SampleService.Models.TripPin.City": {
        "value": {
          "CountryRegion": "String",
          "Name": "String",
          "Region": "String"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Location": {
        "value": {
          "Address": "String",
          "City": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.City"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.EventLocation": {
        "value": {
          "BuildingInfo": "String"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.AirportLocation": {
        "value": {
          "Loc": "GeographyPoint"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Photo": {
        "value": {
          "Id": 0,
          "Name": "String"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Person": {
        "value": {
          "AddressInfo": [
            {
              "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Location"
            }
          ],
          "Concurrency": 0,
          "Emails": [
            "String"
          ],
          "FirstName": "String",
          "Friends": [
            {
              "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Person"
            }
          ],
          "Gender": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.PersonGender"
          },
          "LastName": "String",
          "Photo": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Photo"
          },
          "Trips": [
            {
              "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Trip"
            }
          ],
          "UserName": "String (identifier)"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Airline": {
        "value": {
          "AirlineCode": "String (identifier)",
          "Name": "String"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Airport": {
        "value": {
          "IataCode": "String",
          "IcaoCode": "String (identifier)",
          "Location": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.AirportLocation"
          },
          "Name": "String"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PlanItem": {
        "value": {
          "ConfirmationCode": "String",
          "Duration": "Duration",
          "EndsAt": "0001-01-01T00:00:00.0000000+00:00",
          "PlanItemId": 0,
          "StartsAt": "0001-01-01T00:00:00.0000000+00:00"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.PublicTransportation": {
        "value": {
          "SeatNumber": "String"
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Flight": {
        "value": {
          "Airline": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Airline"
          },
          "FlightNumber": "String",
          "From": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Airport"
          },
          "To": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Airport"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Event": {
        "value": {
          "Description": "String",
          "OccursAt": {
            "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.EventLocation"
          }
        }
      },
      "Microsoft.OData.SampleService.Models.TripPin.Trip": {
        "value": {
          "Budget": 0,
          "Description": "String",
          "EndsAt": "0001-01-01T00:00:00.0000000+00:00",
          "Name": "String",
          "Photos": [
            {
              "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.Photo"
            }
          ],
          "PlanItems": [
            {
              "@odata.type": "Microsoft.OData.SampleService.Models.TripPin.PlanItem"
            }
          ],
          "ShareId": "00000000-0000-0000-0000-000000000000",
          "StartsAt": "0001-01-01T00:00:00.0000000+00:00",
          "Tags": [
            "String"
          ],
          "TripId": 0
        }
      }
    },
    "requestBodies": {
      "refPostBody": {
        "description": "New navigation property ref value",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ReferenceCreate"
            }
          }
        },
        "required": true
      },
      "refPutBody": {
        "description": "New navigation property ref values",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ReferenceUpdate"
            }
          }
        },
        "required": true
      }
    }
  },
  "tags": [
    {
      "name": "Airlines.Airline",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "Airports.Airport",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "Airports",
      "x-ms-docs-toc-type": "container"
    },
    {
      "name": "Me.Person",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "Me.Functions",
      "x-ms-docs-toc-type": "container"
    },
    {
      "name": "Me.Actions",
      "x-ms-docs-toc-type": "container"
    },
    {
      "name": "Me.Photo",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "Me.Trip",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "Me.Trips.Photo",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "Me.Trips.PlanItem",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "People.Person",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "People.Functions",
      "x-ms-docs-toc-type": "container"
    },
    {
      "name": "People.Actions",
      "x-ms-docs-toc-type": "container"
    },
    {
      "name": "Photos.Photo",
      "x-ms-docs-toc-type": "page"
    },
    {
      "name": "ResetDataSource",
      "x-ms-docs-toc-type": "container"
    }
  ]
}

PS C:\MyGithub\odata2poco\odata2poco\build> 

Note: New feature in V5.0.0

Clone this wiki locally