Show / Hide Table of Contents

Class PostalAddress

Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains).

In typical usage an address would be created via user input or from importing existing data, depending on the type of process.

Advice on address input / editing:

  • Use an i18n-ready address widget such as https://github.com/google/libaddressinput)
  • Users should not be presented with UI elements for input or editing of fields outside countries where that field is used.

For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478

Inheritance
System.Object
PostalAddress
Implements
IMessage<PostalAddress>
IMessage
System.IEquatable<PostalAddress>
IDeepCloneable<PostalAddress>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Google.Type
Assembly: Google.Api.CommonProtos.dll
Syntax
public sealed class PostalAddress : IMessage<PostalAddress>, IMessage, IEquatable<PostalAddress>, IDeepCloneable<PostalAddress>

Constructors

PostalAddress()

Declaration
public PostalAddress()

PostalAddress(PostalAddress)

Declaration
public PostalAddress(PostalAddress other)
Parameters
Type Name Description
PostalAddress other

Fields

AddressLinesFieldNumber

Field number for the "address_lines" field.

Declaration
public const int AddressLinesFieldNumber = 9
Field Value
Type Description
System.Int32

AdministrativeAreaFieldNumber

Field number for the "administrative_area" field.

Declaration
public const int AdministrativeAreaFieldNumber = 6
Field Value
Type Description
System.Int32

LanguageCodeFieldNumber

Field number for the "language_code" field.

Declaration
public const int LanguageCodeFieldNumber = 3
Field Value
Type Description
System.Int32

LocalityFieldNumber

Field number for the "locality" field.

Declaration
public const int LocalityFieldNumber = 7
Field Value
Type Description
System.Int32

OrganizationFieldNumber

Field number for the "organization" field.

Declaration
public const int OrganizationFieldNumber = 11
Field Value
Type Description
System.Int32

PostalCodeFieldNumber

Field number for the "postal_code" field.

Declaration
public const int PostalCodeFieldNumber = 4
Field Value
Type Description
System.Int32

RecipientsFieldNumber

Field number for the "recipients" field.

Declaration
public const int RecipientsFieldNumber = 10
Field Value
Type Description
System.Int32

RegionCodeFieldNumber

Field number for the "region_code" field.

Declaration
public const int RegionCodeFieldNumber = 2
Field Value
Type Description
System.Int32

RevisionFieldNumber

Field number for the "revision" field.

Declaration
public const int RevisionFieldNumber = 1
Field Value
Type Description
System.Int32

SortingCodeFieldNumber

Field number for the "sorting_code" field.

Declaration
public const int SortingCodeFieldNumber = 5
Field Value
Type Description
System.Int32

SublocalityFieldNumber

Field number for the "sublocality" field.

Declaration
public const int SublocalityFieldNumber = 8
Field Value
Type Description
System.Int32

Properties

AddressLines

Unstructured address lines describing the lower levels of an address.

Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language.

The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved.

Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).

Declaration
public RepeatedField<string> AddressLines { get; }
Property Value
Type Description
RepeatedField<System.String>

AdministrativeArea

Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.

Declaration
public string AdministrativeArea { get; set; }
Property Value
Type Description
System.String

Descriptor

Declaration
public static MessageDescriptor Descriptor { get; }
Property Value
Type Description
MessageDescriptor

LanguageCode

Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations.

If this value is not known, it should be omitted (rather than specifying a possibly incorrect default).

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

Declaration
public string LanguageCode { get; set; }
Property Value
Type Description
System.String

Locality

Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.

Declaration
public string Locality { get; set; }
Property Value
Type Description
System.String

Organization

Optional. The name of the organization at the address.

Declaration
public string Organization { get; set; }
Property Value
Type Description
System.String

Parser

Declaration
public static MessageParser<PostalAddress> Parser { get; }
Property Value
Type Description
MessageParser<PostalAddress>

PostalCode

Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).

Declaration
public string PostalCode { get; set; }
Property Value
Type Description
System.String

Recipients

Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain "care of" information.

Declaration
public RepeatedField<string> Recipients { get; }
Property Value
Type Description
RepeatedField<System.String>

RegionCode

Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See http://cldr.unicode.org/ and http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: "CH" for Switzerland.

Declaration
public string RegionCode { get; set; }
Property Value
Type Description
System.String

Revision

The schema revision of the PostalAddress. All new revisions must be backward compatible with old revisions.

Declaration
public int Revision { get; set; }
Property Value
Type Description
System.Int32

SortingCode

Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).

Declaration
public string SortingCode { get; set; }
Property Value
Type Description
System.String

Sublocality

Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.

Declaration
public string Sublocality { get; set; }
Property Value
Type Description
System.String

Methods

CalculateSize()

Declaration
public int CalculateSize()
Returns
Type Description
System.Int32
Implements
IMessage.CalculateSize()

Clone()

Declaration
public PostalAddress Clone()
Returns
Type Description
PostalAddress
Implements
IDeepCloneable<T>.Clone()

Equals(PostalAddress)

Declaration
public bool Equals(PostalAddress other)
Parameters
Type Name Description
PostalAddress other
Returns
Type Description
System.Boolean
Implements
System.IEquatable<T>.Equals(T)

Equals(Object)

Declaration
public override bool Equals(object other)
Parameters
Type Name Description
System.Object other
Returns
Type Description
System.Boolean
Overrides
System.Object.Equals(System.Object)

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32
Overrides
System.Object.GetHashCode()

MergeFrom(CodedInputStream)

Declaration
public void MergeFrom(CodedInputStream input)
Parameters
Type Name Description
CodedInputStream input
Implements
IMessage.MergeFrom(CodedInputStream)

MergeFrom(PostalAddress)

Declaration
public void MergeFrom(PostalAddress other)
Parameters
Type Name Description
PostalAddress other
Implements
IMessage<T>.MergeFrom(T)

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.Object.ToString()

WriteTo(CodedOutputStream)

Declaration
public void WriteTo(CodedOutputStream output)
Parameters
Type Name Description
CodedOutputStream output
Implements
IMessage.WriteTo(CodedOutputStream)

Explicit Interface Implementations

IMessage.Descriptor

Declaration
MessageDescriptor IMessage.Descriptor { get; }
Returns
Type Description
MessageDescriptor
Implements
IMessage.Descriptor
Back to top