For the complete documentation index, see llms.txt. This page is also available as Markdown.

I nested form

La piattaforma permette di utilizzare un set di componenti standard, denominati nested form, che permettono di raccogliere dati in modo consistente tra i diversi servizi

Attraverso l'utilizzo di questi componenti, possiamo raccogliere dati in modo consistente tra i diversi servizi, mettendo a disposizione degli utenti funzioni come:

OpenCity Italia mette a disposizione un elenco fornito di nested forms da utilizzare; per usufruire di queste funzioni, però, si consiglia di utilizzare quelli contrassegnati con "OC" e elencati qui:

Dati raccolti
Nome del nested form
Property name

Anagrafica richiedente

OC - Richiedente

applicant

Anagrafica beneficiario persona fisica

OC - Beneficiario

beneficiary

Anagrafica beneficiario soggetto giuridico

OC - Soggetto giuridico

legal_entities

Anagrafica figli

OC - Figli

children

Anagrafica coniuge

OC - Coniuge

spouse

Anagrafica genitore

OC - Genitori

parents

Delega

OC - Delega

delegation

Residenza

OC - Residenza Residenza (archetipo)

address

Cittadinanza

OC - Cittadinanza

citizenship

Esperienze lavorative

OC - Esperienze lavorative

work_experience

Titoli di studio

OC - Titoli di studio

educational_occupational_credential

ISEE Generico

OC - ISEE

economic_situation_indicator

ISEE Ordinario

OC - ISEE Ordinario

ordinary_economic_situation_indicator

Dati di accredito

OC - IBAN

bank_account

Veicoli

OC - Veicoli OC - Veicoli (semplificato)

vehicles

Immobili

OC - Immobili

real_estate

Informativa privacy

OC - Informativa privacy

privacy_policy

Nucleo familiare

OC - Nucleo familiare

Usare i nested form all'interno del modulo

Dalla colonna dei componenti seleziona quello chiamato "nested form".

Una volta trascinato nel modulo, seleziona nella voce "Form" del componente quello che vuoi utilizzare.

Configurare l'ISEE per un minorenne

Usa questa configurazione quando il servizio richiede l'ISEE di un figlio minorenne, non del richiedente adulto. La chiamata PDND richiede il codice fiscale del minore (fiscal_code_child) in aggiunta a quello del richiedente.

Prerequisiti

Il modulo deve raccogliere il codice fiscale del minore prima della sezione ISEE. Inserisci il nested form del minore in una pagina precedente del servizio:

  • OC - Beneficiario (chiave API: beneficiary): se il minore è il beneficiario diretto del servizio;

  • OC - Figli (chiave API: children): se il servizio coinvolge uno o più figli del richiedente, precompilati via PDND.

Configurazione

  1. Trascina nel modulo il nested form OC - ISEE e assegnagli la chiave API economic_situation_indicator.

  2. Nella sezione "API" del componente, sotto "Custom properties", aggiungi queste proprietà:

Proprietà
Valore

profile_block

true

eservice

4f3d1f0e-1e2b-4c5a-8f3a-2b6e9f0c8d7e

format

minorenne

fiscal_code_child

percorso al codice fiscale del minore (vedi sotto)

  1. Per il valore di fiscal_code_child, usa il percorso corretto in base al nested form scelto:

    • Con OC - Beneficiario: data.beneficiary.data.fiscal_code.data.fiscal_code

    • Con OC - Figli: data.children.data[0].fiscal_code.data.fiscal_code

Per verificare il percorso esatto dei campi nel tuo nested form, usa console.log(data.[chiave_api]) nella sezione "Custom action" di una logica, come descritto nella pagina Modificare i campi di un Nested Form.

Struttura dei dati

I dati inseriti nei Nested Form vengono organizzati secondo una struttura gerarchica che permette di individuare in modo preciso ogni informazione raccolta.

Ogni campo può essere richiamato tramite un percorso univoco, che indica dove si trova il dato all’interno del modulo compilato. Questi percorsi vengono utilizzati, per esempio, per applicare regole e condizioni nei moduli.

Il formato base è il seguente:

Dove:

  • property_name identifica il nested form

  • campo rappresenta la singola informazione inserita

Di seguito sono riportati i percorsi utilizzati per accedere ai singoli campi inseriti all’interno dei nested form.

OC - Richiedente

property_name: applicant


Dati anagrafici

  • Nome (path: data.applicant.data.completename.data.name )

  • Cognome (path: data.applicant.data.completename.data.surname)

  • Genere (path: data.applicant.data.gender.data.gender )

  • Codice Fiscale (path: data.applicant.data.fiscal_code)

  • Data di nascita (path: data.applicant.data.Born.data.natoAIl)

  • Luogo di nascita (path: data.applicant.data.Born.data.place_of_birth)

Residenza

  • Indirizzo (path: data.applicant.data.address.data.street_address)

  • Nr. civico (path: data.applicant.data.address.data.address_number)

  • Paese (path: data.applicant.data.address.data.address_country)

  • Provincia (path: data.applicant.data.address.data.county)

  • Comune (path: data.applicant.data.address.data.address_locality)

  • CAP (path: data.applicant.data.address.data.postal_code)

Contatti

  • Numero di telefono cellulare (path: data.applicant.data.cell_number)

  • Numero di telefono fisso (path: data.applicant.data.phone_number)

  • Indirizzo email (path: data.applicant.data.email_address)

OC - Beneficiario

property_name: beneficiary


Dati anagrafici

  • Nome (path: data.beneficiary.data.given_name)

  • Cognome (path: data.beneficiary.data.family_name)

  • Luogo di nascita (path: data.beneficiary.data.birth_place)

  • Data di nascita (path: data.beneficiary.data.birth_date)

  • Genere (path: data.beneficiary.data.gender)

  • Codice fiscale (path: data.beneficiary.data.tax_id)

Residenza

  • Indirizzo (path: data.beneficiary.data.address.data.street_address)

  • Nr. civico (path: data.beneficiary.data.address.data.address_number)

  • Paese (path: data.beneficiary.data.address.data.address_country)

  • Provincia (path: data.beneficiary.data.address.data.county)

  • Comune (path: data.beneficiary.data.address.data.address_locality)

  • CAP (path: data.beneficiary.data.address.data.postal_code)

Nazionalità

  • Nazionalità (path: data.beneficiary.data.nationality)

  • Nazione (path: data.beneficiary.data.nation)

OC - Soggetto giuridico

property_name: legal_entities


Dati anagrafici impresa

  • Denominazione (path: data.legal_entities.data.legal_name)

  • Codice destinatario (SDI) (path: data.legal_entities.data.additional_property_codice_destination)

  • Partita IVA / Codice Fiscale (path: data.legal_entities.data.vat)

  • Codice fiscale (path: data.legal_entities.data.tax_id)

  • Numero di telefono (path: data.legal_entities.data.phone_number)

  • Email (path: data.legal_entities.data.email)

  • PEC (path: data.legal_entities.data.certified_email)

  • Tipo di organizzazione (path: data.legal_entities.data.entity_type )

Sede legale

  • Indirizzo (path: data.legal_entities.data.address.data.street_address)

  • Nr. civico (path: data.legal_entities.address.data.address_number)

  • Paese (path: data.legal_entities.address.data.address_country)

  • Provincia (path: data.legal_entities.data.address.data.county)

  • Comune (path: data.legal_entities.data.address.data.address_locality)

  • CAP (path: data.legal_entities.data.address.data.postal_code)

OC - Figli

property_name: children (datagrid)


Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Se si vuole accedere ai dati di un figlio è necessario indicare l'indice della riga.

Il placeholder [i] indica l’indice della riga, quindi:

  • i = 0 → primo figlio (prima riga)

  • i = 1 → secondo figlio (seconda riga)

  • ecc.

Dati anagrafici

  • Nome (path: data.children.data.children[i].given_name)

  • Cognome (path: data.children.data.children[i].family_name)

  • Luogo di nascita (path: data.children.data.children[i].birth_place)

  • Data di nascita (path: data.children.data.children[i].birth_date)

  • Genere (path: data.children.data.children[i].gender)

  • Codice fiscale (path: data.children.data.children[i].tax_id)

Residenza

  • Indirizzo (path: data.children.data.children[i].address.data.street_address)

  • Nr. civico (path: data.children.data.children[i].address.data.address_number)

  • Paese (path: data.children.data.children[i].address.data.address_country)

  • Provincia (path: data.children.data.children[i].address.data.county)

  • Comune (path: data.children.data.children[i].address.data.address_locality)

  • CAP (path: data.children.data.children[i].address.data.postal_code)

Altri dati

  • Nazionalità (path: data.children.data.children[i].nationality)

  • Permesso di soggiorno (path: data.children.data.children[i].residence_permit)

  • Data scadenza permesso di soggiorno (path: data.children.data.children[i].residence_permit_expirationdate)

  • Documento d’identità (path: data.children.data.children[i].identity_document)

  • Data scadenza documento d’identità (path: data.children.data.children[i].identity_document_expirationdate)

OC - Coniuge

property_name: spouse


Dati anagrafici

  • Nome (path: data.spouse.data.given_name)

  • Cognome (path: data.spouse.data.family_name)

  • Luogo di nascita (path: data.spouse.data.birth_place)

  • Data di nascita (path: data.spouse.data.birth_date)

  • Genere (path: data.spouse.data.gender)

  • Codice fiscale (path: data.spouse.data.tax_id)

Residenza

  • Indirizzo (path: data.spouse.data.address.data.street_address)

  • Nr. civico (path: data.spouse.data.address.data.address_number)

  • Paese (path: data.spouse.data.address.data.address_country)

  • Provincia (path: data.spouse.data.address.data.county)

  • Comune (path: data.spouse.data.address.data.address_locality)

  • CAP (path: data.spouse.data.address.data.postal_code)

Altri dati

  • Nazionalità (path: data.spouse.data.nationality)

  • Nazione (path: data.spouse.data.nation)

  • Documento d’identità (path: data.spouse.data.identity_document)

  • Data scadenza documento d’identità (path: data.spouse.data.identity_document_expirationdate)

  • Permesso di soggiorno (path: data.spouse.data.residence_permit)

  • Data scadenza permesso di soggiorno (path: data.spouse.data.residence_permit_expirationdate)

OC - Genitori

property_name: parents (datagrid)


Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Se si vuole accedere ai dati di un genitore è necessario indicare l'indice della riga.

Il placeholder [i] indica l’indice della riga, quindi:

  • i = 0 → primo genitore (prima riga)

  • i = 1 → secondo genitore (seconda riga)

Dati anagrafici

  • Nome (path: data.parents.data.parents[i].given_name)

  • Cognome (path: data.parents.data.parents[i].family_name)

  • Luogo di nascita (path: data.parents.data.parents[i].birth_place)

  • Data di nascita (path: data.parents.data.parents[i].birth_date)

  • Genere (path: data.parents.data.parents[i].gender)

  • Codice fiscale (path: data.parents.data.parents[i].tax_id)

Residenza

  • Indirizzo (path: data.parents.data.parents[i].address.data.street_address)

  • Nr. civico (path: data.parents.data.parents[i].address.data.address_number)

  • Paese (path: data.parents.data.parents[i].address.data.address_country)

  • Provincia (path: data.parents.data.parents[i].address.data.county)

  • Comune (path: data.parents.data.parents[i].address.data.address_locality)

  • CAP (path: data.parents.data.parents[i].address.data.postal_code)

Altri dati

  • Nazionalità (path: data.parents.data.parents[i].nationality)

  • Documento d’identità (path: data.parents.data.parents[i].identity_document)

  • Data scadenza documento d’identità (path: data.parents.data.parents[i].identity_document_expirationdate)

OC - Delega

property_name: delegation


Documenti

  • Documento d’identità o passaporto (path: data.delegation.data.identity_document)

  • Data scadenza documento d’identità o passaporto (path: data.delegation.data.identity_document_expirationdate)

  • Delega del beneficiario (path: data.delegation.data.delegation_document)

  • Data scadenza delega (path: data.delegation.data.delegation_document_expirationdate)

OC - Residenza Residenza (archetipo)

property_name: address


Dati indirizzo

  • Indirizzo (path: data.address.data.street_address)

  • Nr. civico (path: data.address.data.address_number)

  • Paese (path: data.address.data.address_country)

  • Provincia (path: data.address.data.county)

  • Comune (path: data.address.data.address_locality)

  • CAP (path: data.address.data.postal_code)

Questo nested form è riutilizzato all’interno di altri nested form. Per accedere ai campi, il path completo segue il seguente pattern:

data.<nested_form>.data.address.data.<campo>

Ad esempio, per accedere al comune di residenza del beneficiario, il path è: data.beneficiary.data.address.data.address_locality

OC - Cittadinanza

property_name: citizenship (datagrid)


Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Ogni elemento dell’array rappresenta una cittadinanza della persona. Il placeholder [i] indica l’indice della riga:

  • i = 0 → prima cittadinanza

  • i = 1 → seconda cittadinanza

  • ecc.

Dati cittadinanza

  • Cittadinanza (path: data.citizenship.data.cittadinanza[i].data.nationality)

  • Stato (path: data.citizenship.data.cittadinanza[i].data.country)

OC - Esperienze lavorative

property_name: work_experience (datagrid)


Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Ogni riga rappresenta una singola esperienza lavorativa. Il placeholder [i] indica l’indice della riga:

  • i = 0 → prima esperienza

  • i = 1 → seconda esperienza

  • ecc.

Dati esperienza lavorativa

  • Nome dell'organizzazione (path: data.work_experience.data.work_experience[i].organization)

  • Titolo del lavoro (path: data.work_experience.data.work_experience[i].job_title)

  • Descrizione breve della mansione (path: data.work_experience.data.work_experience[i].description)

  • Rapporto di lavoro in corso (path: data.work_experience.data.work_experience[i].is_current)

  • Data di inizio (path: data.work_experience.data.work_experience[i].start_date)

  • Data di fine (path: data.work_experience.data.work_experience[i].end_date)

  • Causa di risoluzione del contratto (path: data.work_experience.data.work_experience[i].termination_reason)

  • Tipo di contratto (path: data.work_experience.data.work_experience[i].employment_contract_type)

  • Orario di servizio (path: data.work_experience.data.work_experience[i].work_hours)

OC - Titoli di studio

property_name: educational_occupational_credential (datagrid)


Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Ogni riga rappresenta un titolo di studio. Il placeholder [i] indica l’indice della riga:

  • i = 0 → primo titolo

  • i = 1 → secondo titolo

  • ecc.

Dati titolo di studio

  • Livello di istruzione (path: data.educational_occupational_credential.data.titoliDiStudio[i].data.educational_level)

  • Titolo conseguito (path: data.educational_occupational_credential.data.titoliDiStudio[i].data.degree_title)

  • Descrizione del titolo di studio (path: data.educational_occupational_credential.data.titoliDiStudio[i].data.description)

  • Istituto (path: data.educational_occupational_credential.data.titoliDiStudio[i].data.educational_organization)

  • Anno di conseguimento (path: data.educational_occupational_credential.data.titoliDiStudio[i].data.award_date)

  • Votazione finale (path: data.educational_occupational_credential.data.titoliDiStudio[i].data.graduation_vote)

OC - ISEE

property_name: economic_situation_indicator


Dati ISEE

  • Importo (path: data.economic_situation_indicator.data.value)

  • Data di scadenza (path: data.economic_situation_indicator.data.additional_credential_expirationdate)

  • Attestazione ISEE (path: data.economic_situation_indicator.data.additional_credential)

OC - ISEE Ordinario

property_name: ordinary_economic_situation_indicator


Dati ISEE

  • Importo ISEE (path: data.ordinary_economic_situation_indicator.data.isee)

  • Numero protocollo DSU (path: data.ordinary_economic_situation_indicator.data.dsu_protocol_number)

  • Data di presentazione ISEE (path: data.ordinary_economic_situation_indicator.data.submission_date)

  • Data di scadenza ISEE (path: data.ordinary_economic_situation_indicator.data.valid_until)

Nucleo familiare

Nucleo familiare (datagrid, property_name: household)

Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Ogni riga rappresenta un componente del nucleo. Il placeholder [i] indica l’indice della riga:

  • i = 0 → primo componente del nucleo

  • i = 1 → secondo componente

  • ecc.

  • Nome (path: data.ordinary_economic_situation_indicator.data.household[i].data.name)

  • Cognome (path: data.ordinary_economic_situation_indicator.data.household[i].data.surname)

  • Codice fiscale (path: data.ordinary_economic_situation_indicator.data.household[i].data.fiscal_code)

  • Rapporto di parentela (path: data.ordinary_economic_situation_indicator.data.household[i].data.relationship_with_declarant)

  • ISEE corrente (path: data.ordinary_economic_situation_indicator.data.household[i].data.current)

  • Attestazione PDF (path: data.ordinary_economic_situation_indicator.data.household[i].data.attestation_pdf)

OC - IBAN

property_name: bank_account


Dati bancari

  • IBAN (path: data.bank_account.data.account_number)

  • Codice SWIFT (path: data.bank_account.data.swift_code)

  • Nome e cognome dell’intestatario (path: data.bank_account.data.owner)

  • Nome istituto bancario (path: data.bank_account.data.bank_name)

OC - Veicoli OC - Veicoli (semplificato)

property_name: vehicles (datagrid)


Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Ogni riga rappresenta un veicolo. Il placeholder [i] indica l’indice della riga:

  • i = 0 → primo veicolo

  • i = 1 → secondo veicolo

  • ecc.

Dati veicolo

  • Targa (path: data.vehicles.data.vehicles[i].license_plate_number)

  • Marca (path: data.vehicles.data.vehicles[i].manufacturer)

  • Modello (path: data.vehicles.data.vehicles[i].model)

  • Tipo di alimentazione (path: data.vehicles.data.vehicles[i].fuel_type)

  • Omologazione ambientale (path: data.vehicles.data.vehicles[i].emission_standard)

  • Carta di circolazione (path: data.vehicles.data.vehicles[i].registration_document)

OC - Immobili

property_name: real_estate (datagrid)


Essendo un datagrid, ogni elemento dell’array (lista) rappresenta una riga. Ogni riga rappresenta un immobile. Il placeholder [i] indica l’indice della riga:

  • i = 0 → primo immobile

  • i = 1 → secondo immobile

  • ecc.

Dati immobile

  • Denominazione dell’immobile (path: data.real_estate[i].description)

Indirizzo

  • Indirizzo (path: data.real_estate.data.real_estate[i].address.data.street_address)

  • Nr. civico (path: data.real_estate.data.real_estate[i].address.data.address_number)

  • Paese (path: data.real_estate.data.real_estate[i].address.data.address_country)

  • Provincia (path: data.real_estate.data.real_estate[i].address.data.county)

  • Comune (path: data.real_estate.data.real_estate[i].address.data.address_locality)

  • CAP (path: data.real_estate.data.real_estate[i].address.data.postal_code)

Dati catastali

  • Tipologia immobile (path: data.real_estate.data.real_estate[i].property_type)

  • Codice catastale del Comune (path: data.real_estate.data.real_estate[i].cadastral_code)

  • Sezione (path: data.real_estate.data.real_estate[i].section)

  • Foglio (path: data.real_estate.data.real_estate[i].sheet)

  • Particella o mappale (path: data.real_estate.data.real_estate[i].parcel)

  • Subalterno (path: data.real_estate.data.real_estate[i].subunit)

  • Volumetria del fabbricato (path: data.real_estate.data.real_estate[i].volume)

OC - Informativa privacy

property_name: privacy_policy


Informativa privacy

  • HTML informativa (path: data.privacy_policy.data.html1)

  • Ho letto e compreso l’informativa sulla privacy (path: data.privacy_policy.data.accepted_by_user)

  • Link privacy (hidden) (path: data.privacy_policy.data.privacy_link)

Ultimo aggiornamento

È stato utile?