openapi: 3.0.1
info:
  title: OpenAPI definition
  version: v0
servers:
- url: ??
  description: Generated server url
security:
  - bearerAuth: []
paths:
  /notificaViaggiVariati:
    post:
      tags:
      - test-controller
      operationId: notificaViaggiVariati
      requestBody:
        description: Details of the Item to be created
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificaViaggiVariatiInputDTO'
            examples:
              Invio di una richiesta che descrive i viaggi che subiscono impatti dalla variazione:
                summary: Richiesta corretta
                description: Invio di una richiesta che descrive i viaggi che subiscono
                  impatti dalla variazione
                value:
                  listaViaggi:
                  - idOggetto: 507f1f77bcf86cd799439011
                    idViaggio: 0001-01UteMas
                    versione: "2"
                  idCorsa: IT:ITC1:ServiceJourney:busATS:001_01_01A
                  idFermata: IT:ITC1:StopPointInJourneyPattern:busATS:001_01A_22
                  idLinea: IT:ITC1:Line:busATS:TO-MI
                  arrivoPianificato: 06:08:00
                  arrivoRealTime: 06:10:00
                  partenzaPianificata: 06:08:00
                  partenzaRealTime: 06:10:00
                  statoRealTime: UPDATED
                  ritardoInArrivo: 120
                  ritardoInPartenza: 120
                  idFacilityRef: IT:ITC1:Parking:1
                  isFull: IN_RIEMPIMENTO
                  freeSpots: 8
                  occupiedSpots: 90
        required: true
      responses:
        "500":
          description: Internal Server Error
          content:
            '*/*':
              schema:
                type: object
        "200":
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/RestReturnValueEmptyPayload'
components:
  securitySchemes:
    bearerAuth:            # arbitrary name for the security scheme
      type: http
      scheme: bearer
      bearerFormat: JWT    # optional, arbitrary value for documentation purposes
  schemas:
    IdentificativoViaggioDTO:
      type: object
      properties:
        idOggetto:
          type: string
        idViaggio:
          type: string
        versione:
          type: string
      description: Il parametro conterrà una lista di viaggi appartenenti al MaaS
        Operator. Ogni elemento della lista contiene gli elementi utili ad identificare
        ciascun viaggio
    NotificaViaggiVariatiInputDTO:
      type: object
      properties:
        listaViaggi:
          type: array
          description: Il parametro conterrà una lista di viaggi appartenenti al MaaS
            Operator. Ogni elemento della lista contiene gli elementi utili ad identificare
            ciascun viaggio
          items:
            $ref: '#/components/schemas/IdentificativoViaggioDTO'
        idCorsa:
          type: string
          description: "Identificativo della corsa oggetto della variazione, corrisponde\
            \ all’identificativo fornito nel campo ServiceJourney"
        idFermata:
          type: string
          description: "Identificativo della fermata oggetto della variazione, corrisponde\
            \ all’identificativo fornito nel campo StopPointInJourneyPattern"
        idLinea:
          type: string
          description: "Identificativo della linea oggetto della variazione, corrisponde\
            \ all’identificativo fornito nel campo ServiceJourneyPattern"
        arrivoPianificato:
          type: string
          description: Orario di arrivo pianificato del veicolo
        arrivoRealTime:
          type: string
          description: Orario di arrivo reale del veicolo
        partenzaPianificata:
          type: string
          description: Orario di partenza pianificata del veicolo
        partenzaRealTime:
          type: string
          description: Orario di partenza reale del mezzo
        statoRealTime:
          type: string
          description: Stato della corsa
          enum:
          - SCHEDULED
          - UPDATED
          - CANCELED
        ritardoInArrivo:
          type: integer
          description: Quantificazione in secondi del ritardo accumulato in arrivo
            alla fermata
          format: int64
        ritardoInPartenza:
          type: integer
          description: Quantificazione in secondi del ritardo accumulato in partenza
            dalla fermata
          format: int64
        idFacilityRef:
          type: string
          description: id del parcheggio
        isFull:
          type: string
          description: indicazione se il parcheggio è in svuotamento o in riempimento
        freeSpots:
          type: integer
          description: Numero posti liberi
          format: int64
        occupiedSpots:
          type: integer
          description: Numero posti occupati
          format: int64
    EmptyPayload:
      type: object
    RestReturnValueEmptyPayload:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/Result'
        payload:
          $ref: '#/components/schemas/EmptyPayload'
    Result:
      type: object
      properties:
        exitCode:
          type: string
        text:
          type: string