# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.

# typed: true
# frozen_string_literal: true


module OpenApiSDK
  module Operations
    LOCATION_SERVERS = [
      'https://plex.tv/api/v2'
    ].freeze
  

    class Location < ::OpenApiSDK::Utils::FieldAugmented
      extend T::Sig


      field :city, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('city') } }

      field :code, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('code') } }

      field :continent_code, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('continent_code') } }

      field :coordinates, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('coordinates') } }

      field :country, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } }

      field :european_union_member, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('european_union_member') } }

      field :in_privacy_restricted_country, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('in_privacy_restricted_country') } }

      field :postal_code, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('postal_code') } }

      field :subdivisions, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('subdivisions') } }

      field :time_zone, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('time_zone') } }


      sig { params(city: T.nilable(::String), code: T.nilable(::String), continent_code: T.nilable(::String), coordinates: T.nilable(::String), country: T.nilable(::String), european_union_member: T.nilable(T::Boolean), in_privacy_restricted_country: T.nilable(T::Boolean), postal_code: T.nilable(::Float), subdivisions: T.nilable(::String), time_zone: T.nilable(::String)).void }
      def initialize(city: nil, code: nil, continent_code: nil, coordinates: nil, country: nil, european_union_member: nil, in_privacy_restricted_country: nil, postal_code: nil, subdivisions: nil, time_zone: nil)
        @city = city
        @code = code
        @continent_code = continent_code
        @coordinates = coordinates
        @country = country
        @european_union_member = european_union_member
        @in_privacy_restricted_country = in_privacy_restricted_country
        @postal_code = postal_code
        @subdivisions = subdivisions
        @time_zone = time_zone
      end
    end
  end
end
