Package google.type

Indice

Data

Rappresenta una data di calendario intera o parziale, come un compleanno. L'ora del giorno e il fuso orario sono specificati altrove o non sono significativi. La data è relativa al calendario gregoriano. Può trattarsi di uno dei seguenti valori:

  • Una data completa, con valori diversi da zero per anno, mese e giorno.
  • Un mese e un giorno con zero anni (ad esempio, un anniversario).
  • Un anno a sé stante, con uno zero mese e uno zero-day.
  • Un anno e un mese, con zero day (ad esempio, la data di scadenza della carta di credito).

Tipi correlati:

Campi
year

int32

Anno della data. Deve essere compreso tra 1 e 9999 oppure 0 per specificare una data senza anno.

month

int32

Mese dell'anno. Il valore deve essere compreso tra 1 e 12 oppure 0 per specificare un anno senza mese e giorno.

day

int32

Giorno di un mese. Deve essere compreso tra 1 e 31 e deve essere valido per l'anno e il mese oppure 0 per specificare un anno da solo o un anno e mese in cui il giorno non è significativo.

DayOfWeek

Rappresenta un giorno della settimana.

Enum
DAY_OF_WEEK_UNSPECIFIED Il giorno della settimana non è specificato.
MONDAY Lunedì
TUESDAY Martedì
WEDNESDAY Mercoledì
THURSDAY Giovedì
FRIDAY venerdì
SATURDAY Sabato
SUNDAY domenica

Intervallo

Rappresenta un intervallo di tempo, codificato come inizio timestamp (incluso) e fine timestamp (escluso).

L'inizio deve essere inferiore o uguale alla fine. Quando l'inizio corrisponde alla fine, l'intervallo è vuoto (non corrisponde a un orario). Quando non sono specificati entrambi i valori, l'intervallo può corrispondere a qualsiasi momento.

Campi
start_time

Timestamp

Campo facoltativo. Inizio inclusivo dell'intervallo.

Se specificato, un timestamp corrispondente a questo intervallo dovrà essere uguale o successivo all'inizio.

end_time

Timestamp

Campo facoltativo. Fine dell'intervallo.

Se specificato, un timestamp corrispondente a questo intervallo dovrà essere precedente alla fine.

PhoneNumber

Un oggetto che rappresenta un numero di telefono, adatto come formato di cavo API.

Questa rappresentazione:

  • non deve essere utilizzato per la formattazione specifica di un numero di telefono, ad esempio "+1 (650) 253-0000 ext. 123"

  • non è progettato per un'archiviazione efficiente

  • potrebbero non essere adatte per le chiamate: per analizzare il numero a questo scopo dovrebbero essere utilizzate librerie specializzate (vedi riferimenti)

Per fare qualcosa di significativo con questo numero, ad esempio formattarlo per vari casi d'uso, convertilo prima in un oggetto i18n.phonenumbers.PhoneNumber.

Ad esempio, in Java si tratta di:

com.google.type.PhoneNumber wireProto = com.google.type.PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ"); if (!wireProto.getExtension().isEmpty()) { phoneNumber.setExtension(wireProto.getExtension()); }

Riferimenti: - https://github.com/google/libphonenumber

Campi
extension

string

L'interno del numero di telefono. L'estensione non è standardizzata nei suggerimenti ITU, ad eccezione di una serie di numeri con una lunghezza massima di 40 cifre. Oltre ai numeri, potrebbero essere memorizzati qui altri caratteri di composizione, come "," (che indicano un'attesa) o "#".

Tieni presente che al momento nessuna regione utilizza estensioni con codici brevi, pertanto questo campo viene solitamente impostato solo in combinazione con un numero E.164. È conservato separatamente dal numero E.164 per consentire le estensioni di codice brevi in futuro.

Campo unione kind. Obbligatoria. Un numero normale o un codice breve. In futuro potranno essere aggiunti nuovi campi a quello di seguito, quindi i clienti dovrebbero ignorare i numeri di telefono per i quali non è stato impostato nessuno dei campi utilizzati per la codifica. kind può essere solo uno dei seguenti:
e164_number

string

Il numero di telefono, rappresentato dal segno più ("+"), seguito da un numero di telefono in un formato informale ITU E.164 costituito dal prefisso internazionale (da 1 a 3 cifre) e dal numero dell'abbonato, senza spazi aggiuntivi o formattazione, ad esempio: - corretta: "+15552220123" - errata: "+1 (555) 222-01234 x123".

Il formato ITU E.164 limita quest'ultimo a 12 cifre, ma in pratica non tutti i paesi lo rispettano, quindi allentiamo questa restrizione. Non sono consentiti numeri solo nazionali.

Riferimenti: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes

short_code

ShortCode

Un codice breve.

Riferimenti: - https://en.wikipedia.org/wiki/Short_code

ShortCode

Un oggetto che rappresenta un codice breve, ossia un numero di telefono generalmente molto più breve dei normali numeri di telefono e che può essere utilizzato per indirizzare messaggi nei sistemi MMS e SMS, nonché per le chiamate abbreviate (ad es. "Invia un SMS al 611 per sapere quanti minuti hai ancora a disposizione sul tuo piano").

I codici brevi sono limitati a una regione e non sono componibili a livello internazionale, il che significa che lo stesso codice breve può esistere in regioni diverse, con utilizzo e prezzi diversi, anche se le regioni condividono lo stesso prefisso internazionale (ad es. Stati Uniti e Canada).

Campi
region_code

string

Obbligatoria. Il codice regione BCP-47 della località in cui è possibile effettuare chiamate a questo codice breve, ad esempio "US" e "BB".

Riferimenti: - http://www.unicode.org/reports/tr35/#unicode_region_subtag

number

string

Obbligatoria. Le cifre del codice breve, senza il segno più ("+") o il prefisso internazionale, ad esempio "611".

PostalAddress

Rappresenta un indirizzo postale, ad esempio per gli indirizzi di consegna postale o di pagamento. Dato un indirizzo postale, un servizio postale può consegnare gli articoli a una sede, una casella postale o simili. Non è progettato per creare modelli di località geografiche (strade, città, montagne).

Nell'utilizzo tipico, un indirizzo verrebbe creato tramite l'input dell'utente o importando dati esistenti, a seconda del tipo di processo.

Consigli sull'inserimento / modifica di indirizzi: - Usa un widget degli indirizzi pronto per l'internazionalizzazione, come https://github.com/google/libaddressinput. - Agli utenti non dovrebbero essere mostrati elementi di interfaccia utente per l'inserimento o la modifica di campi al di fuori dei paesi in cui viene utilizzato quel campo.

Per ulteriori indicazioni su come utilizzare questo schema, consulta la pagina: https://support.google.com/business/answer/6397478

Campi
revision

int32

La revisione dello schema di PostalAddress. Deve essere impostato su 0, ovvero la revisione più recente.

Tutte le nuove revisioni devono essere compatibili con le versioni precedenti.

region_code

string

Obbligatoria. Codice regione CLDR del paese o della regione dell'indirizzo. Ciò non viene mai dedotto e spetta all'utente assicurarsi che il valore sia corretto. Per informazioni dettagliate, visita le pagine https://cldr.unicode.org/ e https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html. Esempio: "CH" per la Svizzera.

language_code

string

Campo facoltativo. Codice lingua BCP-47 dei contenuti di questo indirizzo (se noto). Spesso è la lingua dell'interfaccia utente del modulo di input o dovrebbe corrispondere a una delle lingue utilizzate nel paese/nella regione dell'indirizzo o alle lingue equivalenti traslitterate. Questo può influenzare la formattazione in alcuni paesi, ma non è fondamentale per la correttezza dei dati e non influirà mai su convalida o altre operazioni correlate alla formattazione.

Se questo valore non è noto, dovrebbe essere omesso (anziché specificare un valore predefinito potenzialmente errato).

Esempi: "zh-Hant", "ja", "ja-Latn", "en".

postal_code

string

Campo facoltativo. Codice postale dell'indirizzo. Non tutti i paesi utilizzano o richiedono la presenza di codici postali, ma se vengono utilizzati, possono attivare un'ulteriore convalida con altre parti dell'indirizzo (ad es. convalida stato/codice postale negli Stati Uniti).

sorting_code

string

Campo facoltativo. Codice di ordinamento aggiuntivo specifico per il paese. Questa opzione non è utilizzata nella maggior parte delle regioni. Dove viene utilizzato, il valore è una stringa come "CEDEX", facoltativamente seguita da un numero (ad es. "CEDEX 7") o solo un numero, che rappresenta il "codice del settore" (Giamaica), "indicatore dell'area di consegna" (Malawi) o "indicatore dell'ufficio postale" (ad es. Costa d'Avorio).

administrative_area

string

Campo facoltativo. Suddivisione amministrativa di livello più elevato utilizzata per gli indirizzi postali di un paese o di una regione. Ad esempio, può essere uno stato, una provincia, un oblast o una prefettura. Nello specifico, per la Spagna si tratta della provincia e non della comunità autonoma (ad es. "Barcellona" e non "Catalogna"). Molti paesi non utilizzano un'area amministrativa negli indirizzi postali. Ad esempio, in Svizzera deve essere lasciato vuoto.

locality

string

Campo facoltativo. In genere si riferisce alla porzione di città dell'indirizzo. Esempi: città degli Stati Uniti, comune in Italia, città del Regno Unito Nelle regioni del mondo in cui le località non sono ben definite o non si adattano bene a questa struttura, lascia la località vuota e utilizza le righe dell'indirizzo.

sublocality

string

Campo facoltativo. Quartiere dell'indirizzo. Ad esempio, possono essere quartieri, quartieri e distretti.

address_lines[]

string

Righe di indirizzo non strutturate che descrivono i livelli inferiori di un indirizzo.

Poiché i valori nelle righe indirizzo non hanno informazioni sul tipo e a volte possono contenere più valori in un singolo campo (ad es. "Austin, TX"), è importante che l'ordine delle linee sia chiaro. L'ordine delle righe dell'indirizzo deve essere "ordine busta" per il paese o la regione dell'indirizzo. Nei luoghi in cui questo valore può variare (ad es. in Giappone), viene utilizzato address_language per renderlo esplicito (ad es. "ja" per ordinamenti di grandi dimensioni e "ja-Latn" o "en" per valori di piccole dimensioni). In questo modo, è possibile selezionare la riga più specifica di un indirizzo in base alla lingua.

La rappresentazione strutturale minima consentita di un indirizzo è composta da un valore regional_code con tutte le informazioni rimanenti inserite in address_lines. Sarebbe possibile formattare un indirizzo del genere in modo molto approssimativo senza geocodifica, ma non è stato possibile effettuare alcun ragionamento semantico su nessuno dei componenti dell'indirizzo fino a quando non è stato almeno parzialmente risolto.

Creare un indirizzo che contiene solo country_code e address_lines; in seguito, la geocodifica è il metodo consigliato per gestire indirizzi completamente non strutturati (anziché indovinare quali parti dell'indirizzo devono essere località o aree amministrative).

recipients[]

string

Campo facoltativo. Il destinatario all'indirizzo. In determinate circostanze, questo campo può contenere informazioni su più righe. Ad esempio, potrebbero contenere informazioni relative alla "cura di".

organization

string

Campo facoltativo. Il nome dell'organizzazione all'indirizzo.

TimeOfDay

Rappresenta un'ora del giorno. La data e il fuso orario non sono significativi o sono specificati altrove. Un'API può scegliere di consentire i secondi intercalari. I tipi correlati sono google.type.Date e google.protobuf.Timestamp.

Campi
hours

int32

Le ore del giorno nel formato 24 ore. Deve essere compreso tra 0 e 23. Un'API può scegliere di consentire il valore "24:00:00" per scenari come l'orario di chiusura dell'attività.

minutes

int32

Minuti dell'ora del giorno. Il valore deve essere compreso tra 0 e 59.

seconds

int32

Secondi di minuti del tempo. Normalmente deve essere compreso tra 0 e 59. Un'API potrebbe consentire il valore 60 se consente i secondi intercalari.

nanos

int32

Frazioni di secondi in nanosecondi. Deve essere compreso tra 0 e 999.999.999.

TimeZone

Rappresenta un fuso orario del database dei fusi orari IANA.

Campi
id

string

Fuso orario del database di fusi orari IANA, ad esempio "America/New_York".

version

string

Campo facoltativo. Numero di versione di IANA Time Zone Database, ad esempio "2019a".