{-# LANGUAGE MultiWayIf #-} -- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator. {-# LANGUAGE OverloadedStrings #-} -- | Contains the types generated from the schema LegalEntityCompany module StripeAPI.Types.LegalEntityCompany where import qualified Control.Monad.Fail import qualified Data.Aeson import qualified Data.Aeson as Data.Aeson.Encoding.Internal import qualified Data.Aeson as Data.Aeson.Types import qualified Data.Aeson as Data.Aeson.Types.FromJSON import qualified Data.Aeson as Data.Aeson.Types.Internal import qualified Data.Aeson as Data.Aeson.Types.ToJSON import qualified Data.ByteString.Char8 import qualified Data.ByteString.Char8 as Data.ByteString.Internal import qualified Data.Functor import qualified Data.Scientific import qualified Data.Text import qualified Data.Text.Internal import qualified Data.Time.Calendar as Data.Time.Calendar.Days import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime import qualified GHC.Base import qualified GHC.Classes import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified StripeAPI.Common import StripeAPI.TypeAlias import {-# SOURCE #-} StripeAPI.Types.Address import {-# SOURCE #-} StripeAPI.Types.LegalEntityCompanyVerification import {-# SOURCE #-} StripeAPI.Types.LegalEntityCompanyVerificationDocument import {-# SOURCE #-} StripeAPI.Types.LegalEntityJapanAddress import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | Defines the object schema located at @components.schemas.legal_entity_company@ in the specification. data LegalEntityCompany = LegalEntityCompany { -- | address: legalEntityCompanyAddress :: (GHC.Maybe.Maybe Address), -- | address_kana: The Kana variation of the company\'s primary address (Japan only). legalEntityCompanyAddressKana :: (GHC.Maybe.Maybe LegalEntityCompanyAddressKana'), -- | address_kanji: The Kanji variation of the company\'s primary address (Japan only). legalEntityCompanyAddressKanji :: (GHC.Maybe.Maybe LegalEntityCompanyAddressKanji'), -- | directors_provided: Whether the company\'s directors have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all directors are provided via [the \`directors_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-directors_provided). legalEntityCompanyDirectorsProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executives_provided: Whether the company\'s executives have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all executives are provided via [the \`executives_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided. legalEntityCompanyExecutivesProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | name: The company\'s legal name. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | name_kana: The Kana variation of the company\'s legal name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyNameKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | name_kanji: The Kanji variation of the company\'s legal name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | owners_provided: Whether the company\'s owners have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all owners are provided via [the \`owners_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the \`percent_ownership\` of each owner together). legalEntityCompanyOwnersProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | phone: The company\'s phone number (used for verification). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | structure: The category identifying the legal structure of the company or legal entity. See [Business structure](https:\/\/stripe.com\/docs\/connect\/identity-verification\#business-structure) for more details. legalEntityCompanyStructure :: (GHC.Maybe.Maybe LegalEntityCompanyStructure'), -- | tax_id_provided: Whether the company\'s business ID number was provided. legalEntityCompanyTaxIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | tax_id_registrar: The jurisdiction in which the \`tax_id\` is registered (Germany-based companies only). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyTaxIdRegistrar :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | vat_id_provided: Whether the company\'s business VAT number was provided. legalEntityCompanyVatIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | verification: Information on the verification state of the company. legalEntityCompanyVerification :: (GHC.Maybe.Maybe LegalEntityCompanyVerification') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompany where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddress obj : "address_kana" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana obj : "address_kanji" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji obj : "directors_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyDirectorsProvided obj : "executives_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyExecutivesProvided obj : "name" Data.Aeson.Types.ToJSON..= legalEntityCompanyName obj : "name_kana" Data.Aeson.Types.ToJSON..= legalEntityCompanyNameKana obj : "name_kanji" Data.Aeson.Types.ToJSON..= legalEntityCompanyNameKanji obj : "owners_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyOwnersProvided obj : "phone" Data.Aeson.Types.ToJSON..= legalEntityCompanyPhone obj : "structure" Data.Aeson.Types.ToJSON..= legalEntityCompanyStructure obj : "tax_id_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyTaxIdProvided obj : "tax_id_registrar" Data.Aeson.Types.ToJSON..= legalEntityCompanyTaxIdRegistrar obj : "vat_id_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyVatIdProvided obj : "verification" Data.Aeson.Types.ToJSON..= legalEntityCompanyVerification obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddress obj) GHC.Base.<> (("address_kana" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana obj) GHC.Base.<> (("address_kanji" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji obj) GHC.Base.<> (("directors_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyDirectorsProvided obj) GHC.Base.<> (("executives_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyExecutivesProvided obj) GHC.Base.<> (("name" Data.Aeson.Types.ToJSON..= legalEntityCompanyName obj) GHC.Base.<> (("name_kana" Data.Aeson.Types.ToJSON..= legalEntityCompanyNameKana obj) GHC.Base.<> (("name_kanji" Data.Aeson.Types.ToJSON..= legalEntityCompanyNameKanji obj) GHC.Base.<> (("owners_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyOwnersProvided obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= legalEntityCompanyPhone obj) GHC.Base.<> (("structure" Data.Aeson.Types.ToJSON..= legalEntityCompanyStructure obj) GHC.Base.<> (("tax_id_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyTaxIdProvided obj) GHC.Base.<> (("tax_id_registrar" Data.Aeson.Types.ToJSON..= legalEntityCompanyTaxIdRegistrar obj) GHC.Base.<> (("vat_id_provided" Data.Aeson.Types.ToJSON..= legalEntityCompanyVatIdProvided obj) GHC.Base.<> ("verification" Data.Aeson.Types.ToJSON..= legalEntityCompanyVerification obj))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompany where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompany" (\obj -> ((((((((((((((GHC.Base.pure LegalEntityCompany GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "directors_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "executives_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owners_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "structure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_id_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_id_registrar")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "vat_id_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification")) -- | Create a new 'LegalEntityCompany' with all required fields. mkLegalEntityCompany :: LegalEntityCompany mkLegalEntityCompany = LegalEntityCompany { legalEntityCompanyAddress = GHC.Maybe.Nothing, legalEntityCompanyAddressKana = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji = GHC.Maybe.Nothing, legalEntityCompanyDirectorsProvided = GHC.Maybe.Nothing, legalEntityCompanyExecutivesProvided = GHC.Maybe.Nothing, legalEntityCompanyName = GHC.Maybe.Nothing, legalEntityCompanyNameKana = GHC.Maybe.Nothing, legalEntityCompanyNameKanji = GHC.Maybe.Nothing, legalEntityCompanyOwnersProvided = GHC.Maybe.Nothing, legalEntityCompanyPhone = GHC.Maybe.Nothing, legalEntityCompanyStructure = GHC.Maybe.Nothing, legalEntityCompanyTaxIdProvided = GHC.Maybe.Nothing, legalEntityCompanyTaxIdRegistrar = GHC.Maybe.Nothing, legalEntityCompanyVatIdProvided = GHC.Maybe.Nothing, legalEntityCompanyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @components.schemas.legal_entity_company.properties.address_kana.anyOf@ in the specification. -- -- The Kana variation of the company\\\'s primary address (Japan only). data LegalEntityCompanyAddressKana' = LegalEntityCompanyAddressKana' { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyAddressKana' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'City obj : "country" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Country obj : "line1" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'State obj : "town" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyAddressKana'" (\obj -> ((((((GHC.Base.pure LegalEntityCompanyAddressKana' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Create a new 'LegalEntityCompanyAddressKana'' with all required fields. mkLegalEntityCompanyAddressKana' :: LegalEntityCompanyAddressKana' mkLegalEntityCompanyAddressKana' = LegalEntityCompanyAddressKana' { legalEntityCompanyAddressKana'City = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'Country = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'Line1 = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'Line2 = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'PostalCode = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'State = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @components.schemas.legal_entity_company.properties.address_kanji.anyOf@ in the specification. -- -- The Kanji variation of the company\\\'s primary address (Japan only). data LegalEntityCompanyAddressKanji' = LegalEntityCompanyAddressKanji' { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyAddressKanji' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'City obj : "country" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Country obj : "line1" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'State obj : "town" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= legalEntityCompanyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyAddressKanji'" (\obj -> ((((((GHC.Base.pure LegalEntityCompanyAddressKanji' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Create a new 'LegalEntityCompanyAddressKanji'' with all required fields. mkLegalEntityCompanyAddressKanji' :: LegalEntityCompanyAddressKanji' mkLegalEntityCompanyAddressKanji' = LegalEntityCompanyAddressKanji' { legalEntityCompanyAddressKanji'City = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'Country = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'Line1 = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'Line2 = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'PostalCode = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'State = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'Town = GHC.Maybe.Nothing } -- | Defines the enum schema located at @components.schemas.legal_entity_company.properties.structure@ in the specification. -- -- The category identifying the legal structure of the company or legal entity. See [Business structure](https:\/\/stripe.com\/docs\/connect\/identity-verification\#business-structure) for more details. data LegalEntityCompanyStructure' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. LegalEntityCompanyStructure'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. LegalEntityCompanyStructure'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"free_zone_establishment"@ LegalEntityCompanyStructure'EnumFreeZoneEstablishment | -- | Represents the JSON value @"free_zone_llc"@ LegalEntityCompanyStructure'EnumFreeZoneLlc | -- | Represents the JSON value @"government_instrumentality"@ LegalEntityCompanyStructure'EnumGovernmentInstrumentality | -- | Represents the JSON value @"governmental_unit"@ LegalEntityCompanyStructure'EnumGovernmentalUnit | -- | Represents the JSON value @"incorporated_non_profit"@ LegalEntityCompanyStructure'EnumIncorporatedNonProfit | -- | Represents the JSON value @"limited_liability_partnership"@ LegalEntityCompanyStructure'EnumLimitedLiabilityPartnership | -- | Represents the JSON value @"llc"@ LegalEntityCompanyStructure'EnumLlc | -- | Represents the JSON value @"multi_member_llc"@ LegalEntityCompanyStructure'EnumMultiMemberLlc | -- | Represents the JSON value @"private_company"@ LegalEntityCompanyStructure'EnumPrivateCompany | -- | Represents the JSON value @"private_corporation"@ LegalEntityCompanyStructure'EnumPrivateCorporation | -- | Represents the JSON value @"private_partnership"@ LegalEntityCompanyStructure'EnumPrivatePartnership | -- | Represents the JSON value @"public_company"@ LegalEntityCompanyStructure'EnumPublicCompany | -- | Represents the JSON value @"public_corporation"@ LegalEntityCompanyStructure'EnumPublicCorporation | -- | Represents the JSON value @"public_partnership"@ LegalEntityCompanyStructure'EnumPublicPartnership | -- | Represents the JSON value @"single_member_llc"@ LegalEntityCompanyStructure'EnumSingleMemberLlc | -- | Represents the JSON value @"sole_establishment"@ LegalEntityCompanyStructure'EnumSoleEstablishment | -- | Represents the JSON value @"sole_proprietorship"@ LegalEntityCompanyStructure'EnumSoleProprietorship | -- | Represents the JSON value @"tax_exempt_government_instrumentality"@ LegalEntityCompanyStructure'EnumTaxExemptGovernmentInstrumentality | -- | Represents the JSON value @"unincorporated_association"@ LegalEntityCompanyStructure'EnumUnincorporatedAssociation | -- | Represents the JSON value @"unincorporated_non_profit"@ LegalEntityCompanyStructure'EnumUnincorporatedNonProfit deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyStructure' where toJSON (LegalEntityCompanyStructure'Other val) = val toJSON (LegalEntityCompanyStructure'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (LegalEntityCompanyStructure'EnumFreeZoneEstablishment) = "free_zone_establishment" toJSON (LegalEntityCompanyStructure'EnumFreeZoneLlc) = "free_zone_llc" toJSON (LegalEntityCompanyStructure'EnumGovernmentInstrumentality) = "government_instrumentality" toJSON (LegalEntityCompanyStructure'EnumGovernmentalUnit) = "governmental_unit" toJSON (LegalEntityCompanyStructure'EnumIncorporatedNonProfit) = "incorporated_non_profit" toJSON (LegalEntityCompanyStructure'EnumLimitedLiabilityPartnership) = "limited_liability_partnership" toJSON (LegalEntityCompanyStructure'EnumLlc) = "llc" toJSON (LegalEntityCompanyStructure'EnumMultiMemberLlc) = "multi_member_llc" toJSON (LegalEntityCompanyStructure'EnumPrivateCompany) = "private_company" toJSON (LegalEntityCompanyStructure'EnumPrivateCorporation) = "private_corporation" toJSON (LegalEntityCompanyStructure'EnumPrivatePartnership) = "private_partnership" toJSON (LegalEntityCompanyStructure'EnumPublicCompany) = "public_company" toJSON (LegalEntityCompanyStructure'EnumPublicCorporation) = "public_corporation" toJSON (LegalEntityCompanyStructure'EnumPublicPartnership) = "public_partnership" toJSON (LegalEntityCompanyStructure'EnumSingleMemberLlc) = "single_member_llc" toJSON (LegalEntityCompanyStructure'EnumSoleEstablishment) = "sole_establishment" toJSON (LegalEntityCompanyStructure'EnumSoleProprietorship) = "sole_proprietorship" toJSON (LegalEntityCompanyStructure'EnumTaxExemptGovernmentInstrumentality) = "tax_exempt_government_instrumentality" toJSON (LegalEntityCompanyStructure'EnumUnincorporatedAssociation) = "unincorporated_association" toJSON (LegalEntityCompanyStructure'EnumUnincorporatedNonProfit) = "unincorporated_non_profit" instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyStructure' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "free_zone_establishment" -> LegalEntityCompanyStructure'EnumFreeZoneEstablishment | val GHC.Classes.== "free_zone_llc" -> LegalEntityCompanyStructure'EnumFreeZoneLlc | val GHC.Classes.== "government_instrumentality" -> LegalEntityCompanyStructure'EnumGovernmentInstrumentality | val GHC.Classes.== "governmental_unit" -> LegalEntityCompanyStructure'EnumGovernmentalUnit | val GHC.Classes.== "incorporated_non_profit" -> LegalEntityCompanyStructure'EnumIncorporatedNonProfit | val GHC.Classes.== "limited_liability_partnership" -> LegalEntityCompanyStructure'EnumLimitedLiabilityPartnership | val GHC.Classes.== "llc" -> LegalEntityCompanyStructure'EnumLlc | val GHC.Classes.== "multi_member_llc" -> LegalEntityCompanyStructure'EnumMultiMemberLlc | val GHC.Classes.== "private_company" -> LegalEntityCompanyStructure'EnumPrivateCompany | val GHC.Classes.== "private_corporation" -> LegalEntityCompanyStructure'EnumPrivateCorporation | val GHC.Classes.== "private_partnership" -> LegalEntityCompanyStructure'EnumPrivatePartnership | val GHC.Classes.== "public_company" -> LegalEntityCompanyStructure'EnumPublicCompany | val GHC.Classes.== "public_corporation" -> LegalEntityCompanyStructure'EnumPublicCorporation | val GHC.Classes.== "public_partnership" -> LegalEntityCompanyStructure'EnumPublicPartnership | val GHC.Classes.== "single_member_llc" -> LegalEntityCompanyStructure'EnumSingleMemberLlc | val GHC.Classes.== "sole_establishment" -> LegalEntityCompanyStructure'EnumSoleEstablishment | val GHC.Classes.== "sole_proprietorship" -> LegalEntityCompanyStructure'EnumSoleProprietorship | val GHC.Classes.== "tax_exempt_government_instrumentality" -> LegalEntityCompanyStructure'EnumTaxExemptGovernmentInstrumentality | val GHC.Classes.== "unincorporated_association" -> LegalEntityCompanyStructure'EnumUnincorporatedAssociation | val GHC.Classes.== "unincorporated_non_profit" -> LegalEntityCompanyStructure'EnumUnincorporatedNonProfit | GHC.Base.otherwise -> LegalEntityCompanyStructure'Other val ) -- | Defines the object schema located at @components.schemas.legal_entity_company.properties.verification.anyOf@ in the specification. -- -- Information on the verification state of the company. data LegalEntityCompanyVerification' = LegalEntityCompanyVerification' { -- | document: legalEntityCompanyVerification'Document :: (GHC.Maybe.Maybe LegalEntityCompanyVerificationDocument) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyVerification' where toJSON obj = Data.Aeson.Types.Internal.object ("document" Data.Aeson.Types.ToJSON..= legalEntityCompanyVerification'Document obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("document" Data.Aeson.Types.ToJSON..= legalEntityCompanyVerification'Document obj) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyVerification'" (\obj -> GHC.Base.pure LegalEntityCompanyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Create a new 'LegalEntityCompanyVerification'' with all required fields. mkLegalEntityCompanyVerification' :: LegalEntityCompanyVerification' mkLegalEntityCompanyVerification' = LegalEntityCompanyVerification' {legalEntityCompanyVerification'Document = GHC.Maybe.Nothing}