openapi: 3.0.3
info:
    title:  🅿️ Parking Input Gateway
    description: >-
        <p>API gateway pro správu poskytovatelů parkovišť.</p>
    version: 1.0.0
    contact:
        name: Golemio Prague Data Plaform
        email: golemio@operatorict.cz
        url: https://golemio.cz
servers:
    - url: https://api.golemio.cz/
      description: Main (production) server
    - url: https://rabin.golemio.cz/
      description: Test (development) server
tags:
    - name: 🅿 ️Parking sources
      description: ""
paths:
    /parkings/source:
        post:
            summary: edit parking source
            description: Pokud existuje poskytovatel s uvedeným source, tak se aktualizuje. Pokud ne, založí se nový.
            tags:
                - 🅿 ️Parking sources
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            $ref: "#/components/schemas/ParkingSource"
            responses:
                204:
                    description: OK
                401:
                    $ref: "#/components/responses/UnauthorizedError"
                404:
                    description: Not found
                422:
                    description: Error while validating input data
                500:
                    description: Database error

components:
    responses:
        UnauthorizedError:
            description: API key is missing or invalid
            headers:
                x-access-token:
                    schema:
                        type: string
    schemas:
        ParkingSource:
            title: Parking Source
            type: object
            properties:
                source:
                    type: string
                    example: "korid"
                    description: "unikátní identifikátor poskytovatele"
                name:
                    type: string
                    example: "Koordinátor veřejné dopravy Libereckého kraje"
                    description: "jméno poskytovatele"
                    nullable: true
                open_data:
                    type: boolean
                    description: "Jsou data poskytovatele open-data?"
                api_v3_allowed:
                    type: boolean
                    description: "povolit výstup na API v3"
                legacy_api_allowed:
                    type: boolean
                    description: "povolit výstup na starší api (v1, v2)."
                payment:
                    type: object
                    nullable: true
                    description: "Sada URL, kde lze zaplatit parkovné"
                    properties:
                        web_url:
                            type: string
                            nullable: true
                        android_url:
                            type: string
                            nullable: true
                        ios_url:
                            type: string
                            nullable: true
                        discovery_url:
                            type: string
                            nullable: true
                reservation:
                    type: object
                    nullable: true
                    description: "Sada URL, kde lze zaplatit parkovné"
                    properties:
                        type:
                            type: string
                            nullable: true
                        web_url:
                            type: string
                            nullable: true
                        android_url:
                            type: string
                            nullable: true
                        ios_url:
                            type: string
                            nullable: true
                        discovery_url:
                            type: string
                            nullable: true
                datasource_parking:
                    type: string
                    nullable: true
                    example: "https://parking-sources.cz/data/parkings.geojson"
                    description: "URL zdroje parkovišť"
                datasource_locations:
                    type: string
                    nullable: true
                    example: "https://parking-sources.cz/data/parking_locations.geojson"
                    description: "URL zdroje parking locations"
                datasource_payments:
                    type: string
                    nullable: true
                    example: "https://parking-sources.cz/data/parking_locations.geojson"
                    description: "URL zdroje parking locations"
                datasource_entrances:
                    type: string
                    nullable: true
                    example: "https://parking-sources.cz/data/parking_entrances.geojson"
                    description: "URL zdroje vjezdů parkovišť"
                datasource_prohibitions:
                    type: string
                    nullable: true
                    example: "https://parking-sources.cz/data/parking_prohibitions.geojson"
                    description: "URL zdroje zákazů vjezdů parkovišť"
                datasource_tariffs:
                    type: string
                    nullable: true
                    example: "https://parking-sources.cz/data/parking_tariffs.geojson"
                    description: "URL zdroje tarifů parkovišť"
                datasource_parking_machines:
                    type: string
                    nullable: true
                    example: "https://parking-sources.cz/data/parking_machines.geojson"
                    description: "URL zdroje parkomatů"
                contact:
                    type: object
                    nullable: true
                    properties:
                        email:
                            type: string
                            example: "pomoc@parking.liberec.cz"
                        phone:
                            type: string
                            example: "+420604295403"
                        web_url:
                            type: string
                            example: "https://parking.liberec.cz/"
                        term_of_use_url:
                            type: string
                            nullable: true
                            example: "https://www.liberec.cz/cz/prakticke-informace/doprava-udrzba-komunikaci/parkovaci-mista/parkovaci-mista.html"
