openapi: 3.0.0
info:
  title: Test WServices cimiteri-test.comune.padova.it
  version: 1.4.1
servers:
  - url: https://cimiteri-test.comune.padova.it

tags:

  - name: R1 Obitorio
  - name: R2 Crematorio
  - name: R3 Crematorio
  - name: R4 Crematorio
  - name: Auth
paths:
  /sync/obitoriopadova/listaluoghipartenza:
    post:
      tags:
        - R1 Obitorio
      summary: listaLuoghiPartenza R1.A
      security:
        - oauth2Auth: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                  - data
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: array
                    items:
                      properties:
                        codice:
                          type: string
                          description: "Codice del luogo"
                        descrizione:
                          type: string
                          description: "Descrizione del luogo"
        '400':
          description: Bad request
          content:
            application/json: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}
  /sync/obitoriopadova/listapratichepartenzaospedalecivile:
    post:
      tags:
        - R1 Obitorio
      summary: listaPratichePartenzaOspedaleCivile R1.B
      requestBody:
        content:
          application/json:
            schema: 
              description: Parametri da passare per la richiesta
              type: object
              required:
                - da
              properties:
                da:
                  type: string
                a:
                  type: string
                luogo:
                  type: string
              example:
                da: '2020-01-01'
      security:
        - oauth2Auth: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                  - data
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: array
                    items:
                      $ref: "#/components/schemas/PraticaPartenza"
        '400':
          description: Bad request
          content:
            application/json: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}

  /sync/crematorio/listaCremazioni:
    post:
      tags:
        - R2 Crematorio
      summary: listaCremazioni R2
      requestBody:
        content:
          application/json:
            schema: 
              description: Parametri da passare per la richiesta
              type: object
              required:
                - da
              properties:
                da:
                  type: string
                a:
                  type: string
              example:
                da: '2020-01-01'
      security:
        - oauth2Auth: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                  - data
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: array
                    items:
                      $ref: "#/components/schemas/CremazioneOggetto"
        '400':
          description: Bad request
          content:
            application/json: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}
  /sync/crematorio/dettaglioCremazione:
    post:
      tags:
        - R3 Crematorio
      summary: dettaglioCremazione R3
      requestBody:
        content:
          application/json:
            schema: 
              description: Parametri da passare per la richiesta
              type: object
              required:
                - id
              properties:
                id:
                  type: integer
              example:
                id: 458634
      security:
        - oauth2Auth: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                  - data
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: array
                    items:
                      $ref: "#/components/schemas/DettaglioCremazioneOggetto"
        '400':
          description: Bad request
          content:
            application/json: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}
  /sync/crematorio/eseguiOperazione:
    post:
      tags:
        - R4 Crematorio
      summary: eseguiOperazione R4
      requestBody:
        content:
          application/json:
            schema:
              description: Parametri da passare per l'aggiornamento dell'azione
              type: object
              required:
                - idcremazione
                - codiceinternoazione
                - dataoraesecuzione
              properties:
                idcremazione:
                  type: integer
                codiceinternoazione:
                  type: integer
                dataoraesecuzione:
                  type: string
                valore:
                  type: string
              example:
                idcremazione: 458634
                codiceinternoazione: 6050
                dataoraesecuzione: '2025-11-28 16:39:55'
                valore: '3'
      security:
        - oauth2Auth: []
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
        '400':
          description: Bad request
          content:
            application/json: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}
  /sync/crematorio/accesstoken:
    post:
      tags:
        - Auth
      summary: accesstoken
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: ''
      security:
        - oauth2Auth: []
      parameters:
        - name: grant_type
          in: query
          schema:
            type: string
          description: client_credentials o authorization_code
          example: client_credentials
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - message
                  - data
                properties:
                  status:
                    type: integer
                  message:
                    type: string
                  data:
                    type: object
components:
  securitySchemes:
    oauth2Auth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://cimiteri-test.comune.padova.it/sync/crematorio/accesstoken
          scopes: {}
  schemas:
    PraticaPartenza:
        type: object
        description: 'Singolo oggetto pratica partenza - elemento della risposta, contiene tutte le informazioni relative ad una singola pratica di partenza da obitorio'
        properties:
          id:
            type: integer
            description: 'Id (identificativo univoco) della pratica - identifica univocamente la pratica per eventuali operazioni di verifica e riscontro'
          idstatoinformazione:
            type: integer
            description: 'Id (identificativo univoco) stato informazione - identifica univocamente lo stato di lavorazione in cui si trova la pratica (0=non definito, 13=accettata, -1=annullata etc.)'
          statoinformazione:
            type: string
            description: 'Descrizione stato informazione - descrive lo stato di lavorazione in cui si trova la pratica (0=non definito, 13=accettata, -1=annullata etc.)'
          tipofase:
            type: integer
            description: 'Id (identificativo univoco) del tipofase - identifica univocamente il tipo di pratica presentata al portale dei servizi cimiteriali (es. 95=Funerale con destinazione fuori comune, 100=Funerale per sepoltura in città etc.)'
          tipofasedescrizione:
            type: string
            description: 'Descrizione tipofase - descrive il tipo di pratica (es. 95=Funerale con destinazione fuori comune, 100=Funerale per sepoltura in città etc.)'
          statodefunto:
            type: string
            description: 'Descrive lo stato del defunto della pratica (es. salma, resti mortali, ossa, ceneri etc.)'
          destinazione:
            type: string
            description: 'Descrive il luogo di destinazione del defunto'
          partenzacomune:
            type: string
            description: 'Indica il comune da cui parte il defunto'   
          partenzaluogo:
            type: string
            description: 'Indica il luogo da cui parte il defunto, tipicamente obitorio'   
          dataorapartenza:
            type: string
            description: 'Data ora partenza - indica data e orario di partenza del defunto, tipicamente coincidente con la data e ora di uscita da obitorio)'
          dittaresponsabile:
            type: string
            description: 'Ditta responsabile - riporta la ragione sociale della ditta responsabile del servizio'
          defunto:
            $ref: "#/components/schemas/Defunto"
    CremazioneOggetto:
      type: object
      description: 'Singolo oggetto cremazione in array elenco selezionato per data prevista di esecuzione - elemento della risposta, contiene tutte le informazioni relative ad una singola cremazione da eseguire'
      properties:
        id:
          type: integer
          description: 'Id (identificativo univoco) Cremazione - identifica univocamente la fase di cremazione programmata'
        dataoraprevistaarrivo:
          type: string
          description: 'Data e ora prevista di arrivo del feretro ad impianto di cremazione'
        dataorainserimento:
          type: string
          description: 'Data e ora di inserimento a sistema della fase di cremazione'
        dataoraprogrammazione:
          type: string
          description: 'Data e ora di programmazione della cremazione, da intendersi quale data ora prevista di introduzione nel forno crematorio'
        numerorepertorio:
          type: string
          description: 'Numero di registro o repertorio operazione'
        numerofascicolo:
          type: string
          description: 'Numero di fascicolo operazione'
        statodefunto:
          type: string
          description: 'Descrive lo stato del defunto della pratica (es. salma, resti mortali, ossa, etc.) prima della cremazione'
        tipofase:
          type: integer
          description: 'Id (identificativo univoco) del tipo di operazione prevista, con eventuale riferimento al forno da utilizzare per la cremazione'
        tipofasedescrizione:
          type: string
          description: 'Descrive il tipo di operazione prevista, con eventuale riferimento al forno da utilizzare per la cremazione'
        defunto:
          $ref: "#/components/schemas/Defunto"
    DettaglioCremazioneOggetto:
      type: object
      description: 'Singolo oggeto cremazione, esito della chiamata puntuale per id - contiene tutte le informazioni relative ad una singola cremazione da eseguire, unitamente a tutte le azioni (sub operazioni della cremazione) previste, ed ad informazioni su tutti i soggetti coinvolti nella o interessati dalla attività di cremazione'
      properties:
        id:
          type: integer
          description: 'Id (identificativo univoco) Cremazione - identifica univocamente la fase di cremazione programmata'
        dataoraprevistaarrivo:
          type: string
          description: 'Data e ora prevista di arrivo del feretro ad impianto di cremazione'
        dataorainserimento:
          type: string
          description: 'Data e ora di inserimento a sistema della fase di cremazione'
        dataoraprogrammazione:
          type: string
          description: 'Data e ora di programmazione della cremazione, da intendersi quale data ora prevista di introduzione nel forno crematorio'
        numerorepertorio:
          type: string
          description: 'Numero di registro o repertorio operazione'
        numerofascicolo:
          type: string
          description: 'Numero di fascicolo operazione'
        statodefunto:
          type: string
          description: 'Descrive lo stato del defunto della pratica (es. salma, resti mortali, ossa, etc.) prima della cremazione'
        tipofase:
          type: integer
          description: 'Id (identificativo univoco) del tipo di operazione prevista, con eventuale riferimento al forno da utilizzare per la cremazione'
        tipofasedescrizione:
          type: string
          description: 'Descrive il tipo di operazione prevista, con eventuale riferimento al forno da utilizzare per la cremazione'
        defunto:
          $ref: "#/components/schemas/Defunto"
        operazioni:
          type: array
          description: 'Elenco azioni'
          items:
            $ref: "#/components/schemas/Azione"
        soggetticoinvolti:
          type: array
          description: 'Array soggetti coinvolti'
          items:
            $ref: "#/components/schemas/SoggettoCoinvolto"
    Defunto:
      type: object
      description: 'Oggetto defunto - contiene tutte le informazioni relative al defunto oggetto di cremazione, ad esclusione dello stato (es. salma, resti mortali, ossa, etc.) indicato in oggetto cremazione cui il defunto è collegato'
      properties:
        id:
          type: integer
          description: 'Id (identificativo univoco) Defunto - identifica univocamente il defunto nella procedura, dato indispensabile per eventuali operazioni di tracciamento delle attività'
        nominativo:
          type: string
          description: 'Nominativo (tipicamente cognome e nome) del defunto'
        cognome:
          type: string
          description: 'Cognome del defunto'
        nome:
          type: string
          description: 'Nome del defunto'
        codicefiscale:
          type: string
          description: 'Codice fiscale del defunto'  
        sesso:
          type: string
          description: 'Sesso del defunto (es. M,F)'
        datanascita:
          type: string
          description: 'Data di nascita del defunto'
        datadecesso:
          type: string
          description: 'Data di decesso del defunto'
        luogonascita:
          type: string
          description: 'Luogo di nascita del defunto'
        luogonascitabelfiore:
          type: string
          description: 'Codice Belfiore (anche detto codice nazionale o codice mministrativo catastale) del luogo di nascita'  
        residenzainvita: 
          type: string
          description: 'Luogo di residenza in vita del defunto'
        comuneresidenza: 
          type: string
          description: 'Comune residenza in vita del defunto'
        comuneresidenzabelfiore: 
          type: string
          description: 'Codice Belfiore (anche detto codice nazionale o codice mministrativo catastale) del comune di residenza del defunto'  
        indirizzodecesso:
          type: string
          description: 'Indirizzo di decesso'  
        luogodecesso:
          type: string
          description: 'Luogo (comune) di decesso'     
        luogodecessobelfiore:
          type: string
          description: 'Codice Belfiore (anche detto codice nazionale o codice mministrativo catastale) del luogo (comune) di decesso'   
        luogodecessodescrizione:
          type: string
          description: 'Descrizione del luogo decesso'
    Azione:
      type: object
      description: 'Dettaglio operazione/azione - per ogni cremazione possono essere previste molte azioni (sub-operazioni, quali ad  es. , RICEVIMENTO, ETICHETTATURA, TIPOPROCESSO, FINEPRATICA, DEZINCATURA, DEPOSITOFERETRO, CELLAFRIGO, RICHIESTA, VOLONTA, NONMINERALIZZATO, VOLONTASOCREM, VOLONTATESTAMENTO, AUTORIZZAZIONE, AUTORIZZAZIONEALTROCOMUNE, AUTORIZZAZIONEAUTORITAGIUDIZIARIA, COMMIATO, COMMIATO2, PARTECIPANTI, PARTECIPANTISALATV, PLACCA, PACEMAKER, ATTESAINSERIMENTO, INIZIO, FINE, RAFFREDDAMENTO, POLVERIZZATORE, VERBALE, PESATURACENERI, PREPARAZIONEURNA, URNAAUFFICIOCONSEGNE, METEO, SALUTO, DISPERSIONEGIARDINO, DISPERSIONECINERARIO, DISPERSIONEPARTECIPANTI, DISPERSIONE), per ciascuna azione sono presenti più informazioni'
      properties:
        id:
          type: integer
          description: 'Id (identificativo univoco) Azione - identifica univocamente ogni azione prevista, dovendesi intendere per azione una qualsiasi sub-operazione necessaria alla esecuzione della fase di cremazione'
        codiceinterno:
          type: string
          description: 'Codice interno tipo azione, identifica univocamente il tipo di azione, vale a dire di sub-operazione, prevista (6000=RICEVIMENTO, 6005=ETICHETTATURA, 6010=TIPOPROCESSO, 6020=FINEPRATICA, 6030=DEZINCATURA, 6040=DEPOSITOFERETRO, 6050=CELLAFRIGO, 6100=RICHIESTA, 6105=VOLONTA, 6106=NONMINERALIZZATO, 6110=VOLONTASOCREM, 6120=VOLONTATESTAMENTO, 6150=AUTORIZZAZIONE, 6160=AUTORIZZAZIONEALTROCOMUNE, 6170=AUTORIZZAZIONEAUTORITAGIUDIZIARIA, 6200=COMMIATO, 6201=COMMIATO2, 6250=PARTECIPANTI, 6260=PARTECIPANTISALATV, 6300=PLACCA, 6340=PACEMAKER, 6350=ATTESAINSERIMENTO, 6400=INIZIO, 6410=FINE, 6450=RAFFREDDAMENTO, 6500=POLVERIZZATORE, 6510=VERBALE, 6520=PESATURACENERI, 6550=PREPARAZIONEURNA, 6600=URNAAUFFICIOCONSEGNE, 6610=METEO, 6650=SALUTO, 6700=DISPERSIONEGIARDINO, 6710=DISPERSIONECINERARIO, 6720=DISPERSIONEPARTECIPANTI, 6730=DISPERSIONE)'
        descrizione:
          type: integer
          description: 'Descrive in dettaglio il tipo di azione prevista (es. collocazione in deposito, presenza parenti alla cremazione, preparazione urna, consegna urna etc.)'     
        obbligatorio:
          type: boolean
          description: 'Flag che indica se la azione deve essere eseguita obbligatoriamente'  
        fasechiusura:
          type: boolean
          description: 'Flag che indica se la avvenuta esecuzione della azione comporta esecuzione della operazione principale (es. esecuzine etichettatura urna cineraria produce fine esecuzione operazione di cremazione)' 
        ordinamento:
          type: integer
          description: 'Numero di ordine previsto per esecuzione della azione' 
        idfase:
          type: integer
          description: 'Id (identificati univoco) della fase/operazione di cremazione cui la azione appartiene' 
        idtipoazione:
          type: integer
          description: 'Id (identificativo univoco) del tipo azione, identifica univocamente il tipo di azione prevista (es. collocazione in deposito, presenza parenti alla cremazione, preparazione urna, consegna urna etc.)' 
        dataoraprevista:
          type: string
          description: 'Data e ora prevista per la azione' 
        dataoraesecuzione:
          type: string
          description: 'Data e ora di esecuzione della azione'
        comune:
          type: string
          description: 'Comune di esecuzione della azione (ad es. nel per azioni di affido o dispersione)'
        provincia:
          type: string
          description: 'Provincia di esecuzione della azione (ad es. nel per azioni di affido o dispersione)' 
        luogo:
          type: string
          description: 'Luogo di esecuzione della azione (ad es. nel per azioni di affido o dispersione)'
        utente:
          type: string
          description: 'Utente esecutore della azione' 
        progressivo:
          type: string
          description: 'Progressivo della azionie' 
        annotazioni:
          type: string
          description: 'Annotazioni della azione' 
        dataoraprevistafine:
          type: string
          description: 'Data ora prevista fine (nel caso la azione preveda inizio e fine)'
        dataoraesecuzionefine:
          type: string
          description: 'Data ora esecuzione fine (nel caso la azione preveda inizio e fine)'  
        opzione:
          type: boolean
          description: 'Opzione - flag recante informazioni specifiche in relazione al tipo di azione (es. urna propria SI/NO)'  
        azionedescrizione:
          type: string
          description: 'Descrizione della azione, in dettaglio'   
        indirizzo:
          type: string
          description: 'Indirizzo di esecuzione della azione (ad es. nel per azioni di affido o dispersione)' 
        indirizzocivico:
          type: string
          description: 'Indirizzo civico di esecuzione della azione (ad es. nel per azioni di affido o dispersione)'
        idcamerawfo:
          type: integer
          description: 'Id (identificativo univoco) del luogo, tipicamente camera/deposito, di esecuzione della azione'
        idazionedescrizione:
          type: integer
          description: 'Id azione descrizione'
        valore:
          type: integer
          description: 'Valore numerico (es. peso feretro)'
        idtipolavoro:
          type: integer
          description: 'Id del tipo di voce listino associato alla azione'
        tipolavoromisura:
          type: number
          description: 'Quantita del tipo voce listino associata alla azione'
        latitudine:
          type: number
          description: 'Latitudine del luogo di esecuzione della azione, per la eventuale geolocalizzazione delle attività eseguite'
        longitudine:
          type: number
          description: 'Longitudine  del luogo di esecuzione della azione, per la eventuale geolocalizzazione delle attività eseguite'
    SoggettoCoinvolto:
      type: object
      description: 'Soggetto coinvolto - per ogni azioni/sub-operazione, possono essere indicati i soggetti coinvolti/incaricati (es. caposquadra, operaio etc.), per ogni soggetto coinvolto/incaricato sono presenti più informazioni'
      properties:
        id:
          type: integer
          description: 'Id (identificativo univoco) del soggetto coinvolto nella esecuzione della azione'   
        codiceinterno:
          type: integer
          description: 'Codice interno (univoco) del soggetto coinvolto nella esecuzione della azione, utile per determinare il tipo di attività'  
        tiposoggetto:
          type: string
          description: 'descrizione della tipologia del soggetto coinvolto nella esecuzione della azione, utile per determinare il tipo di attività'  
        nominativo:
          type: string
          description: 'Nominativo (tipicamente cognome e nome) del soggetto coinvolto'   
        cognome:
          type: string
          description: 'Cognome del soggetto coinvolto'  
        nome:
          type: string
          description: 'Nome del soggetto coinvolto'  
        partitaiva:
          type: string
          description: 'Partita IVA del soggetto coinvolto'   
        codicefiscale:
          type: string
          description: 'Codice fiscale del soggetto coinvolto'  
        luogonascita:
          type: string
          description: 'Comune nascita del soggetto coinvolto' 
        luogonascitaprovincia:
          type: string
          description: 'Provincia di nascita del soggetto coinvolto' 
        datanascita:
          type: string
          description: 'Data di nascita del soggetto coinvolto'  
        sesso:
          type: string
          description: 'Sesso del soggetto coinvolto'  
        indirizzo:
          type: string
          description: 'Indirizzo del soggetto coinvolto'   
        indirizzocivico:
          type: string
          description: 'Civico del soggetto coinvolto'  
        cap:
          type: string
          description: 'Cap del soggetto coinvolto' 
        citta:
          type: string
          description: 'Città di residenza del soggetto coinvolto'
        cittaprovincia:
          type: string
          description: 'Provincia di residenza del soggetto coinvolto' 