# GooglePlacesSwift Framework Reference

# PostalAddress

    struct PostalAddress

    extension PostalAddress : Copyable, CustomStringConvertible, Equatable, Escapable, Hashable, Sendable, SendableMetatype

Represents a postal address, such as for postal delivery or payments addresses. With
a postal address, a postal service can deliver items to a premise, P.O. box, or
similar. A postal address is not intended to model geographical locations like roads,
towns, or mountains.
- `


  ### [==(_:_:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV2eeoiySbAC_ACtFZ)


  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`,
  `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: PostalAddress, rhs: PostalAddress) -> Bool

  #### Parameters

  |---|---|
  | ` lhs ` | A value to compare. |
  | ` rhs ` | Another value to compare. |

- `


  ### [addressLines](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV12addressLinesSaySSGvp)


  ` 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 (for example, "Austin, TX"), it is
  important that the line
  order is clear. The order of address lines should be "envelope order" for the
  country or region
  of the address. In places where this can vary (for example, Japan),
  `address_language` is used
  to make it explicit (for example, "ja" for large-to-small ordering and "ja-Latn" or
  "en" for small-to-large). In 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

  Swift

      var addressLines: [String] { get }

- `


  ### [administrativeArea](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV18administrativeAreaSSSgvp)


  ` 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. For
  Spain, this is the province and not the autonomous community (for example,
  "Barcelona" and not "Catalonia").
  Many countries don't use an administrative area in postal addresses. For example,
  in Switzerland, this should be left unpopulated.

  #### Declaration

  Swift

      var administrativeArea: String? { get }

- `


  ### [description](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV11descriptionSSvp)


  ` A textual representation of this instance.

  Calling this property directly is discouraged. Instead, convert an
  instance of any type to a string by using the `String(describing:)`
  initializer. This initializer works with any type, and uses the custom
  `description` property for types that conform to
  `CustomStringConvertible`:

      struct Point: CustomStringConvertible {
          let x: Int, y: Int

          var description: String {
              return "(\(x), \(y))"
          }
      }

      let p = Point(x: 21, y: 30)
      let s = String(describing: p)
      print(s)
      // Prints "(21, 30)"

  The conversion of `p` to a string in the assignment to `s` uses the
  `Point` type's `description` property.

  #### Declaration

  Swift

      var description: String { get }

- `


  ### [hash(into:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV4hash4intoys6HasherVz_tF)


  ` Hashes the essential components of this value by feeding them into the
  given hasher.

  Implement this method to conform to the `Hashable` protocol. The
  components used for hashing must be the same as the components compared
  in your type's `==` operator implementation. Call `hasher.combine(_:)`
  with each of these components.
  Important

  In your implementation of `hash(into:)`,
  don't call `finalize()` on the `hasher` instance provided,
  or replace it with a different instance.
  Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

- `


  ### [hashValue](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV9hashValueSivp)


  ` The hash value.

  Hash values are not guaranteed to be equal across different executions of
  your program. Do not save hash values to use during a future execution.
  Important
  `hashValue` is deprecated as a `Hashable` requirement. To conform to `Hashable`, implement the `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress.html#/s:17GooglePlacesSwift13PostalAddressV4hash4intoys6HasherVz_tF` requirement instead. The compiler provides an implementation for `hashValue` for you.

  #### Declaration

  Swift

      var hashValue: Int { get }

- `


  ### [languageCode](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV12languageCodeSSSgvp)


  ` 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

  Swift

      var languageCode: String? { get }

- `


  ### [locality](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV8localitySSSgvp)


  ` Generally refers to the city or 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

  Swift

      var locality: String? { get }

- `


  ### [organization](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV12organizationSSSgvp)


  ` The name of the organization at the address.

  #### Declaration

  Swift

      var organization: String? { get }

- `


  ### [postalCode](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV10postalCodeSSSgvp)


  ` 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 (for
  example, state or zip code validation in the United States).

  #### Declaration

  Swift

      var postalCode: String? { get }

- `


  ### [recipients](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV10recipientsSaySSGvp)


  ` The recipient at the address.

  This field may, under certain circumstances, contain multiline information. For
  example, it might contain "care of" information.

  #### Declaration

  Swift

      var recipients: [String] { get }

- `


  ### [regionCode](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV10regionCodeSSSgvp)


  ` 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 \* <https://cldr.unicode.org/> and
  <https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html> for
  details. Example: "CH" for Switzerland.

  #### Declaration

  Swift

      var regionCode: String? { get }

- `


  ### [sortingCode](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV11sortingCodeSSSgvp)


  ` 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 (for example, "CEDEX 7"), or just a
  number alone,
  representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or
  "post office indicator" (Côte d'Ivoire).

  #### Declaration

  Swift

      var sortingCode: String? { get }

- `


  ### [sublocality](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/PostalAddress#/s:17GooglePlacesSwift13PostalAddressV11sublocalitySSSgvp)


  ` Sublocality of the address.

  For example, this can be a neighborhood, borough, or district.

  #### Declaration

  Swift

      var sublocality: String? { get }