asyncapi: 3.0.0
info:
    title: Vehiclesharing
    version: 1.0.0
    description: Locations and description shared vehicles in Prague and surroundings
channels:
    vehiclesharing.refreshCeskyCarsharingGeofencingData:
        address: dataplatform.ceskycarsharingvehiclesharing.refreshCeskyCarsharingGeofencingData
        description: Updates areas of Český Carsharing providers.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshCeskyCarsharingVehiclesData:
        address: dataplatform.ceskycarsharingvehiclesharing.refreshCeskyCarsharingVehiclesData
        description: Updates vehicles of Český Carsharing providers.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshNextbikeData:
        address: dataplatform.nextbikevehiclesharing.refreshNextbikeData
        description: Updates Nextbike locations and vehicles.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshLimeStaticData:
        address: dataplatform.limebikesharing.refreshLimeStaticData
        description: Updates Lime static data (system info, rental apps, static stations information).
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshLimeTrackableData:
        address: dataplatform.limebikesharing.refreshLimeTrackableData
        description: Updates Lime dynamic trackable data.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshRekolaGeofencingData:
        address: dataplatform.rekolavehiclesharing.refreshRekolaGeofencingData
        description: Updates areas of Rekola provider.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshRekolaTrackableData:
        address: dataplatform.rekolavehiclesharing.refreshRekolaTrackableData
        description: Updates Rekola bikes data.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.fetchStaticDataFromRemoteSource:
        address: dataplatform.vehiclesharingstaticdata.fetchStaticDataFromRemoteSource
        description: Refresh static data from oict cloud to database.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshStaticDataInDb:
        address: dataplatform.vehiclesharingstaticdata.refreshStaticDataInDb
        description: Refresh static data from database. Eg. prices, mobile apps, system information.
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
    vehiclesharing.refreshVehicleAddresses:
        address: dataplatform.vehiclesharingstaticdata.refreshVehicleAddresses
        description: Refresh vehicle addresses by calling geocoding service API (photon).
        bindings:
            amqp:
                is: queue
                queue:
                    durable: true
        messages:
            empty:
                $ref: "#/components/messages/emptyMessage"
operations:
    vehiclesharing.refreshCeskyCarsharingGeofencingData:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshCeskyCarsharingGeofencingData"
    vehiclesharing.refreshCeskyCarsharingVehiclesData:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshCeskyCarsharingVehiclesData"
    vehiclesharing.refreshNextbikeData:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshNextbikeData"
    vehiclesharing.refreshLimeStaticData:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshLimeStaticData"
    vehiclesharing.refreshLimeTrackableData:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshLimeTrackableData"
    vehiclesharing.refreshRekolaGeofencingData:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshRekolaGeofencingData"
    vehiclesharing.refreshRekolaTrackableData:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshRekolaTrackableData"
    vehiclesharing.fetchStaticDataFromRemoteSource:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.fetchStaticDataFromRemoteSource"
    vehiclesharing.refreshStaticDataInDb:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshStaticDataInDb"
    vehiclesharing.refreshVehicleAddresses:
        action: "send"
        channel:
            $ref: "#/channels/vehiclesharing.refreshVehicleAddresses"
components:
    messages:
        emptyMessage:
            title: Empty message
