Package google.type

Indice

Data

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

  • Una data completa, con valori di anno, mese e giorno diversi da zero.
  • Un mese e un giorno, con un anno pari a zero (ad esempio un anniversario).
  • Un anno da solo, con un mese e un giorno pari a zero.
  • Un anno e un mese, con un giorno pari a zero (ad esempio, la data di scadenza di una 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 di un anno. 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 valido per l'anno e il mese oppure 0 per specificare un anno da solo o un anno e un 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 timestamp di inizio (incluso) e timestamp di fine (escluso).

L'inizio deve essere inferiore o uguale alla fine. Quando l'inizio è uguale alla fine, l'intervallo è vuoto (non corrisponde a nessuna ora). Quando sia start che end non sono specificati, l'intervallo corrisponde a qualsiasi ora.

Campi
start_time

Timestamp

(Facoltativo) Inizio dell'intervallo incluso.

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

end_time

Timestamp

(Facoltativo) Fine dell'intervallo (valore inserito escluso).

Se specificato, un timestamp corrispondente a questo intervallo dovrà precedere la fine.

Numero di telefono

Un oggetto che rappresenta un numero di telefono, adatto come formato di invio dell'API.

Questa rappresentazione:

  • Non deve essere utilizzato per la formattazione di un numero di telefono specifico per le impostazioni internazionali, ad esempio "+1 (650) 253-0000 int. 123"

  • non è progettato per un'archiviazione efficiente

  • potrebbe non essere adatto per la composizione. Per questo scopo, devono essere utilizzate librerie specializzate (vedi riferimenti) per analizzare il numero

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

Ad esempio, in Java sarebbe:

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'estensione del numero di telefono. L'estensione non è standardizzata nei consigli dell'ITU, tranne per il fatto che è definita come una serie di numeri con una lunghezza massima di 40 cifre. Oltre ai numeri, qui potrebbero essere memorizzati altri caratteri di composizione, ad esempio "," (che indica una pausa) o "#".

Tieni presente che al momento nessuna regione utilizza estensioni con codici brevi, pertanto questo campo viene normalmente impostato solo in combinazione con un numero E.164. Viene tenuto separato dal numero E.164 per consentire l'utilizzo di estensioni di codici brevi in futuro.

Campo unione kind. Obbligatorio. Un numero normale o un codice breve. In futuro potrebbero essere aggiunti nuovi campi a oneof di seguito, pertanto i client devono ignorare i numeri di telefono per i quali non è impostato nessuno dei campi in base ai quali sono stati codificati. kind può essere solo uno dei seguenti:
e164_number

string

Il numero di telefono, rappresentato da un segno più iniziale ("+"), seguito da un numero di telefono che utilizza un formato ITU E.164 rilassato composto dal codice paese (da 1 a 3 cifre) e dal numero dell'abbonato, senza spazi o formattazione aggiuntivi. Ad esempio: - corretto: "+15552220123" - errato: "+1 (555) 222-01234 x123".

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

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.

Riferimento o riferimenti: - https://en.wikipedia.org/wiki/Short_code

ShortCode

Un oggetto che rappresenta un codice breve, ovvero un numero di telefono in genere molto più breve dei numeri di telefono normali e che può essere utilizzato per indirizzare i messaggi nei sistemi MMS e SMS, nonché per la composizione abbreviata (ad esempio "Invia un messaggio al 611 per sapere quanti minuti ti restano nel tuo piano").

I codici brevi sono limitati a una regione e non possono essere chiamati a livello internazionale, il che significa che lo stesso codice breve può esistere in regioni diverse, con prezzi e utilizzi diversi, anche se queste regioni condividono lo stesso codice paese (ad esempio Stati Uniti e Canada).

Campi
region_code

string

Obbligatorio. 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

Obbligatorio. Le cifre del codice breve, senza il segno più iniziale ("+") o il codice paese. Ad esempio, "611".

PostalAddress

Rappresenta un indirizzo postale. Ad esempio, per l'indirizzo di consegna postale o per i pagamenti. Dato un indirizzo postale, un servizio postale può consegnare gli articoli a un immobile, a una casella postale o a un indirizzo simile. Non è progettato per modellare località geografiche (strade, città, montagne).

In un utilizzo tipico, un indirizzo viene creato dall'input dell'utente o dall'importazione di dati esistenti, a seconda del tipo di processo.

Consigli per l'inserimento / la modifica dell'indirizzo: - Utilizza un widget di indirizzo pronto per l'internazionalizzazione, ad esempio https://github.com/google/libaddressinput. - Agli utenti non devono essere mostrati elementi dell'interfaccia utente per l'inserimento o la modifica di campi al di fuori dei paesi in cui vengono utilizzati.

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

Obbligatorio. Codice regione CLDR del paese/della regione dell'indirizzo. Questo valore non viene mai dedotto ed è responsabilità dell'utente assicurarsi che sia corretto. Per maggiori dettagli, 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

(Facoltativo) Codice lingua BCP-47 dei contenuti dell'indirizzo (se noto). Spesso si tratta della lingua dell'interfaccia utente del modulo di immissione o dovrebbe corrispondere a una delle lingue utilizzate nel paese/nella regione dell'indirizzo o ai relativi equivalenti traslitterati. Ciò può influire sulla formattazione in alcuni paesi, ma non è fondamentale per la correttezza dei dati e non influirà mai sulla convalida o su altre operazioni non correlate alla formattazione.

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

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

postal_code

string

(Facoltativo) Il codice postale dell'indirizzo. Non tutti i paesi utilizzano o richiedono la presenza di codici postali, ma, dove vengono utilizzati, possono attivare una convalida aggiuntiva con altre parti dell'indirizzo (ad esempio la convalida dello stato/del codice postale negli Stati Uniti).

sorting_code

string

(Facoltativo) Codice di ordinamento aggiuntivo specifico per paese. Questo formato non viene utilizzato nella maggior parte delle regioni. Se viene utilizzato, il valore è una stringa come "CEDEX", eventualmente seguita da un numero (ad esempio "CEDEX 7") o solo un numero, che rappresenta il "codice settore" (Giamaica), l'"indicatore zona di consegna" (Malawi) o l'"indicatore ufficio postale" (ad esempio Costa d'Avorio).

administrative_area

string

(Facoltativo) Suddivisione amministrativa di grado più alto usata per l'indirizzo postale di un paese o di un'area geografica. 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 esempio "Barcellona" e non "Catalogna"). Molti paesi non utilizzano un'area amministrativa negli indirizzi postali. Ad esempio, in Svizzera questo campo deve essere lasciato vuoto.

locality

string

(Facoltativo) Solitamente si riferisce alla porzione di città dell'indirizzo. Esempi: "city" per gli Stati Uniti, "comune" in Italia, "post town" nel Regno Unito. Lì dove le località non sono ben definite o non rientrano nella struttura, lascia il campo vuoto e usa address_lines.

sublocality

string

(Facoltativo) Quartiere dell'indirizzo. Ad esempio, possono essere quartieri, rioni, distretti.

address_lines[]

string

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

Poiché i valori in address_lines 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 righe sia chiaro. L'ordine delle righe dell'indirizzo deve essere "ordine busta" per il paese o la regione dell'indirizzo. Nei paesi in cui questo può variare (ad esempio in Giappone), viene utilizzato address_language per renderlo esplicito (ad esempio "ja" per l'ordinamento da grande a piccolo e "ja-Latn" o "en" per l'ordinamento da piccolo a grande). In questo modo, è possibile selezionare la riga più specifica di un indirizzo in base alla lingua.

La rappresentazione strutturale minima consentita di un indirizzo è costituita da un codice regione con tutte le informazioni rimanenti inserite nelle righe indirizzo. Sarebbe possibile formattare un indirizzo del genere in modo molto approssimativo senza geocodifica, ma non è possibile fare ragionamenti semantici su nessuno dei componenti dell'indirizzo finché non è stato risolto almeno parzialmente.

Creare un indirizzo contenente solo region_code e address_lines e poi eseguire il geocodifica è il modo consigliato per gestire gli indirizzi completamente non strutturati (anziché indovinare quali parti dell'indirizzo devono essere località o aree amministrative).

recipients[]

string

(Facoltativo) Il destinatario all'indirizzo. In determinate circostanze, questo campo può contenere informazioni su più righe. Ad esempio, potrebbe contenere informazioni su chi gestisce la proprietà.

organization

string

(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

Ore di un giorno nel formato 24 ore. Deve essere maggiore o uguale a 0 e in genere deve essere minore o uguale a 23. Un'API potrebbe scegliere di consentire il valore "24:00:00" per scenari come l'orario di chiusura dell'attività.

minutes

int32

Minuti di un'ora. Deve essere maggiore o uguale a 0 e minore o uguale a 59.

seconds

int32

Secondi di un minuto. Deve essere maggiore o uguale a 0 e in genere deve essere minore o uguale a 59. Un'API potrebbe consentire il valore 60 se consente i secondi intercalari.

nanos

int32

Frazioni di secondo, in nanosecond. Deve essere maggiore o uguale a 0 e minore o uguale a 999.999.999.

TimeZone

Rappresenta un fuso orario del database dei fusi orari IANA.

Campi
id

string

Fuso orario del database IANA Time Zone. Ad esempio "America/New_York".

version

string

(Facoltativo) Numero di versione del database dei fusi orari IANA. Ad esempio "2019a".