# -*- coding: utf-8 -*-
# File generated from our OpenAPI spec
from stripe._createable_api_resource import CreateableAPIResource
from stripe._expandable_field import ExpandableField
from stripe._list_object import ListObject
from stripe._listable_api_resource import ListableAPIResource
from stripe._stripe_object import StripeObject, UntypedStripeObject
from stripe._updateable_api_resource import UpdateableAPIResource
from stripe._util import sanitize_id
from typing import ClassVar, List, Optional, Union, cast
from typing_extensions import Literal, Unpack, TYPE_CHECKING

if TYPE_CHECKING:
    from stripe._file import File
    from stripe.params.issuing._cardholder_create_params import (
        CardholderCreateParams,
    )
    from stripe.params.issuing._cardholder_list_params import (
        CardholderListParams,
    )
    from stripe.params.issuing._cardholder_modify_params import (
        CardholderModifyParams,
    )
    from stripe.params.issuing._cardholder_retrieve_params import (
        CardholderRetrieveParams,
    )


class Cardholder(
    CreateableAPIResource["Cardholder"],
    ListableAPIResource["Cardholder"],
    UpdateableAPIResource["Cardholder"],
):
    """
    An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://docs.stripe.com/issuing) cards.

    Related guide: [How to create a cardholder](https://docs.stripe.com/issuing/cards/virtual/issue-cards#create-cardholder)
    """

    OBJECT_NAME: ClassVar[Literal["issuing.cardholder"]] = "issuing.cardholder"

    class Billing(StripeObject):
        class Address(StripeObject):
            city: Optional[str]
            """
            City, district, suburb, town, or village.
            """
            country: Optional[str]
            """
            Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
            """
            line1: Optional[str]
            """
            Address line 1, such as the street, PO Box, or company name.
            """
            line2: Optional[str]
            """
            Address line 2, such as the apartment, suite, unit, or building.
            """
            postal_code: Optional[str]
            """
            ZIP or postal code.
            """
            state: Optional[str]
            """
            State, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)).
            """

        address: Address
        _inner_class_types = {"address": Address}

    class Company(StripeObject):
        tax_id_provided: bool
        """
        Whether the company's business ID number was provided.
        """

    class Individual(StripeObject):
        class CardIssuing(StripeObject):
            class UserTermsAcceptance(StripeObject):
                date: Optional[int]
                """
                The Unix timestamp marking when the cardholder accepted the Authorized User Terms.
                """
                ip: Optional[str]
                """
                The IP address from which the cardholder accepted the Authorized User Terms.
                """
                user_agent: Optional[str]
                """
                The user agent of the browser from which the cardholder accepted the Authorized User Terms.
                """

            user_terms_acceptance: Optional[UserTermsAcceptance]
            """
            Information about cardholder acceptance of Celtic [Authorized User Terms](https://docs.stripe.com/issuing/compliance-us#issuing-terms). Required for cards backed by a Celtic program.
            """
            _inner_class_types = {"user_terms_acceptance": UserTermsAcceptance}

        class Dob(StripeObject):
            day: Optional[int]
            """
            The day of birth, between 1 and 31.
            """
            month: Optional[int]
            """
            The month of birth, between 1 and 12.
            """
            year: Optional[int]
            """
            The four-digit year of birth.
            """

        class Verification(StripeObject):
            class Document(StripeObject):
                back: Optional[ExpandableField["File"]]
                """
                The back of a document returned by a [file upload](https://api.stripe.com#create_file) with a `purpose` value of `identity_document`.
                """
                front: Optional[ExpandableField["File"]]
                """
                The front of a document returned by a [file upload](https://api.stripe.com#create_file) with a `purpose` value of `identity_document`.
                """

            document: Optional[Document]
            """
            An identifying document, either a passport or local ID card.
            """
            _inner_class_types = {"document": Document}

        card_issuing: Optional[CardIssuing]
        """
        Information related to the card_issuing program for this cardholder.
        """
        dob: Optional[Dob]
        """
        The date of birth of this cardholder.
        """
        first_name: Optional[str]
        """
        The first name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters.
        """
        last_name: Optional[str]
        """
        The last name of this cardholder. Required before activating Cards. This field cannot contain any numbers, special characters (except periods, commas, hyphens, spaces and apostrophes) or non-latin letters.
        """
        verification: Optional[Verification]
        """
        Government-issued ID document for this cardholder.
        """
        _inner_class_types = {
            "card_issuing": CardIssuing,
            "dob": Dob,
            "verification": Verification,
        }

    class Requirements(StripeObject):
        disabled_reason: Optional[
            Union[
                Literal[
                    "listed",
                    "rejected.listed",
                    "requirements.past_due",
                    "under_review",
                ],
                str,
            ]
        ]
        """
        If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason.
        """
        past_due: Optional[
            List[
                Union[
                    Literal[
                        "company.tax_id",
                        "individual.card_issuing.user_terms_acceptance.date",
                        "individual.card_issuing.user_terms_acceptance.ip",
                        "individual.dob.day",
                        "individual.dob.month",
                        "individual.dob.year",
                        "individual.first_name",
                        "individual.last_name",
                        "individual.verification.document",
                    ],
                    str,
                ]
            ]
        ]
        """
        Array of fields that need to be collected in order to verify and re-enable the cardholder.
        """

    class SpendingControls(StripeObject):
        class SpendingLimit(StripeObject):
            amount: int
            """
            Maximum amount allowed to spend per interval. This amount is in the card's currency and in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal).
            """
            categories: Optional[
                List[
                    Union[
                        Literal[
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electric_vehicle_charging",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "emergency_services_gcas_visa_use_only",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_licensed_horse_dog_racing_us_region_only",
                            "government_licensed_online_casions_online_gambling_us_region_only",
                            "government_owned_lotteries_non_us_region",
                            "government_owned_lotteries_us_region_only",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "marketplaces",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards",
                        ],
                        str,
                    ]
                ]
            ]
            """
            Array of strings containing [categories](https://docs.stripe.com/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories.
            """
            interval: Union[
                Literal[
                    "all_time",
                    "daily",
                    "monthly",
                    "per_authorization",
                    "weekly",
                    "yearly",
                ],
                str,
            ]
            """
            Interval (or event) to which the amount applies.
            """

        allowed_card_presences: Optional[
            List[Union[Literal["not_present", "present"], str]]
        ]
        """
        Array of card presence statuses from which authorizations will be allowed. Possible options are `present`, `not_present`. All other statuses will be blocked. Cannot be set with `blocked_card_presences`. Provide an empty value to unset this control.
        """
        allowed_categories: Optional[
            List[
                Union[
                    Literal[
                        "ac_refrigeration_repair",
                        "accounting_bookkeeping_services",
                        "advertising_services",
                        "agricultural_cooperative",
                        "airlines_air_carriers",
                        "airports_flying_fields",
                        "ambulance_services",
                        "amusement_parks_carnivals",
                        "antique_reproductions",
                        "antique_shops",
                        "aquariums",
                        "architectural_surveying_services",
                        "art_dealers_and_galleries",
                        "artists_supply_and_craft_shops",
                        "auto_and_home_supply_stores",
                        "auto_body_repair_shops",
                        "auto_paint_shops",
                        "auto_service_shops",
                        "automated_cash_disburse",
                        "automated_fuel_dispensers",
                        "automobile_associations",
                        "automotive_parts_and_accessories_stores",
                        "automotive_tire_stores",
                        "bail_and_bond_payments",
                        "bakeries",
                        "bands_orchestras",
                        "barber_and_beauty_shops",
                        "betting_casino_gambling",
                        "bicycle_shops",
                        "billiard_pool_establishments",
                        "boat_dealers",
                        "boat_rentals_and_leases",
                        "book_stores",
                        "books_periodicals_and_newspapers",
                        "bowling_alleys",
                        "bus_lines",
                        "business_secretarial_schools",
                        "buying_shopping_services",
                        "cable_satellite_and_other_pay_television_and_radio",
                        "camera_and_photographic_supply_stores",
                        "candy_nut_and_confectionery_stores",
                        "car_and_truck_dealers_new_used",
                        "car_and_truck_dealers_used_only",
                        "car_rental_agencies",
                        "car_washes",
                        "carpentry_services",
                        "carpet_upholstery_cleaning",
                        "caterers",
                        "charitable_and_social_service_organizations_fundraising",
                        "chemicals_and_allied_products",
                        "child_care_services",
                        "childrens_and_infants_wear_stores",
                        "chiropodists_podiatrists",
                        "chiropractors",
                        "cigar_stores_and_stands",
                        "civic_social_fraternal_associations",
                        "cleaning_and_maintenance",
                        "clothing_rental",
                        "colleges_universities",
                        "commercial_equipment",
                        "commercial_footwear",
                        "commercial_photography_art_and_graphics",
                        "commuter_transport_and_ferries",
                        "computer_network_services",
                        "computer_programming",
                        "computer_repair",
                        "computer_software_stores",
                        "computers_peripherals_and_software",
                        "concrete_work_services",
                        "construction_materials",
                        "consulting_public_relations",
                        "correspondence_schools",
                        "cosmetic_stores",
                        "counseling_services",
                        "country_clubs",
                        "courier_services",
                        "court_costs",
                        "credit_reporting_agencies",
                        "cruise_lines",
                        "dairy_products_stores",
                        "dance_hall_studios_schools",
                        "dating_escort_services",
                        "dentists_orthodontists",
                        "department_stores",
                        "detective_agencies",
                        "digital_goods_applications",
                        "digital_goods_games",
                        "digital_goods_large_volume",
                        "digital_goods_media",
                        "direct_marketing_catalog_merchant",
                        "direct_marketing_combination_catalog_and_retail_merchant",
                        "direct_marketing_inbound_telemarketing",
                        "direct_marketing_insurance_services",
                        "direct_marketing_other",
                        "direct_marketing_outbound_telemarketing",
                        "direct_marketing_subscription",
                        "direct_marketing_travel",
                        "discount_stores",
                        "doctors",
                        "door_to_door_sales",
                        "drapery_window_covering_and_upholstery_stores",
                        "drinking_places",
                        "drug_stores_and_pharmacies",
                        "drugs_drug_proprietaries_and_druggist_sundries",
                        "dry_cleaners",
                        "durable_goods",
                        "duty_free_stores",
                        "eating_places_restaurants",
                        "educational_services",
                        "electric_razor_stores",
                        "electric_vehicle_charging",
                        "electrical_parts_and_equipment",
                        "electrical_services",
                        "electronics_repair_shops",
                        "electronics_stores",
                        "elementary_secondary_schools",
                        "emergency_services_gcas_visa_use_only",
                        "employment_temp_agencies",
                        "equipment_rental",
                        "exterminating_services",
                        "family_clothing_stores",
                        "fast_food_restaurants",
                        "financial_institutions",
                        "fines_government_administrative_entities",
                        "fireplace_fireplace_screens_and_accessories_stores",
                        "floor_covering_stores",
                        "florists",
                        "florists_supplies_nursery_stock_and_flowers",
                        "freezer_and_locker_meat_provisioners",
                        "fuel_dealers_non_automotive",
                        "funeral_services_crematories",
                        "furniture_home_furnishings_and_equipment_stores_except_appliances",
                        "furniture_repair_refinishing",
                        "furriers_and_fur_shops",
                        "general_services",
                        "gift_card_novelty_and_souvenir_shops",
                        "glass_paint_and_wallpaper_stores",
                        "glassware_crystal_stores",
                        "golf_courses_public",
                        "government_licensed_horse_dog_racing_us_region_only",
                        "government_licensed_online_casions_online_gambling_us_region_only",
                        "government_owned_lotteries_non_us_region",
                        "government_owned_lotteries_us_region_only",
                        "government_services",
                        "grocery_stores_supermarkets",
                        "hardware_equipment_and_supplies",
                        "hardware_stores",
                        "health_and_beauty_spas",
                        "hearing_aids_sales_and_supplies",
                        "heating_plumbing_a_c",
                        "hobby_toy_and_game_shops",
                        "home_supply_warehouse_stores",
                        "hospitals",
                        "hotels_motels_and_resorts",
                        "household_appliance_stores",
                        "industrial_supplies",
                        "information_retrieval_services",
                        "insurance_default",
                        "insurance_underwriting_premiums",
                        "intra_company_purchases",
                        "jewelry_stores_watches_clocks_and_silverware_stores",
                        "landscaping_services",
                        "laundries",
                        "laundry_cleaning_services",
                        "legal_services_attorneys",
                        "luggage_and_leather_goods_stores",
                        "lumber_building_materials_stores",
                        "manual_cash_disburse",
                        "marinas_service_and_supplies",
                        "marketplaces",
                        "masonry_stonework_and_plaster",
                        "massage_parlors",
                        "medical_and_dental_labs",
                        "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                        "medical_services",
                        "membership_organizations",
                        "mens_and_boys_clothing_and_accessories_stores",
                        "mens_womens_clothing_stores",
                        "metal_service_centers",
                        "miscellaneous",
                        "miscellaneous_apparel_and_accessory_shops",
                        "miscellaneous_auto_dealers",
                        "miscellaneous_business_services",
                        "miscellaneous_food_stores",
                        "miscellaneous_general_merchandise",
                        "miscellaneous_general_services",
                        "miscellaneous_home_furnishing_specialty_stores",
                        "miscellaneous_publishing_and_printing",
                        "miscellaneous_recreation_services",
                        "miscellaneous_repair_shops",
                        "miscellaneous_specialty_retail",
                        "mobile_home_dealers",
                        "motion_picture_theaters",
                        "motor_freight_carriers_and_trucking",
                        "motor_homes_dealers",
                        "motor_vehicle_supplies_and_new_parts",
                        "motorcycle_shops_and_dealers",
                        "motorcycle_shops_dealers",
                        "music_stores_musical_instruments_pianos_and_sheet_music",
                        "news_dealers_and_newsstands",
                        "non_fi_money_orders",
                        "non_fi_stored_value_card_purchase_load",
                        "nondurable_goods",
                        "nurseries_lawn_and_garden_supply_stores",
                        "nursing_personal_care",
                        "office_and_commercial_furniture",
                        "opticians_eyeglasses",
                        "optometrists_ophthalmologist",
                        "orthopedic_goods_prosthetic_devices",
                        "osteopaths",
                        "package_stores_beer_wine_and_liquor",
                        "paints_varnishes_and_supplies",
                        "parking_lots_garages",
                        "passenger_railways",
                        "pawn_shops",
                        "pet_shops_pet_food_and_supplies",
                        "petroleum_and_petroleum_products",
                        "photo_developing",
                        "photographic_photocopy_microfilm_equipment_and_supplies",
                        "photographic_studios",
                        "picture_video_production",
                        "piece_goods_notions_and_other_dry_goods",
                        "plumbing_heating_equipment_and_supplies",
                        "political_organizations",
                        "postal_services_government_only",
                        "precious_stones_and_metals_watches_and_jewelry",
                        "professional_services",
                        "public_warehousing_and_storage",
                        "quick_copy_repro_and_blueprint",
                        "railroads",
                        "real_estate_agents_and_managers_rentals",
                        "record_stores",
                        "recreational_vehicle_rentals",
                        "religious_goods_stores",
                        "religious_organizations",
                        "roofing_siding_sheet_metal",
                        "secretarial_support_services",
                        "security_brokers_dealers",
                        "service_stations",
                        "sewing_needlework_fabric_and_piece_goods_stores",
                        "shoe_repair_hat_cleaning",
                        "shoe_stores",
                        "small_appliance_repair",
                        "snowmobile_dealers",
                        "special_trade_services",
                        "specialty_cleaning",
                        "sporting_goods_stores",
                        "sporting_recreation_camps",
                        "sports_and_riding_apparel_stores",
                        "sports_clubs_fields",
                        "stamp_and_coin_stores",
                        "stationary_office_supplies_printing_and_writing_paper",
                        "stationery_stores_office_and_school_supply_stores",
                        "swimming_pools_sales",
                        "t_ui_travel_germany",
                        "tailors_alterations",
                        "tax_payments_government_agencies",
                        "tax_preparation_services",
                        "taxicabs_limousines",
                        "telecommunication_equipment_and_telephone_sales",
                        "telecommunication_services",
                        "telegraph_services",
                        "tent_and_awning_shops",
                        "testing_laboratories",
                        "theatrical_ticket_agencies",
                        "timeshares",
                        "tire_retreading_and_repair",
                        "tolls_bridge_fees",
                        "tourist_attractions_and_exhibits",
                        "towing_services",
                        "trailer_parks_campgrounds",
                        "transportation_services",
                        "travel_agencies_tour_operators",
                        "truck_stop_iteration",
                        "truck_utility_trailer_rentals",
                        "typesetting_plate_making_and_related_services",
                        "typewriter_stores",
                        "u_s_federal_government_agencies_or_departments",
                        "uniforms_commercial_clothing",
                        "used_merchandise_and_secondhand_stores",
                        "utilities",
                        "variety_stores",
                        "veterinary_services",
                        "video_amusement_game_supplies",
                        "video_game_arcades",
                        "video_tape_rental_stores",
                        "vocational_trade_schools",
                        "watch_jewelry_repair",
                        "welding_repair",
                        "wholesale_clubs",
                        "wig_and_toupee_stores",
                        "wires_money_orders",
                        "womens_accessory_and_specialty_shops",
                        "womens_ready_to_wear_stores",
                        "wrecking_and_salvage_yards",
                    ],
                    str,
                ]
            ]
        ]
        """
        Array of strings containing [categories](https://docs.stripe.com/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`.
        """
        allowed_merchant_countries: Optional[List[str]]
        """
        Array of strings containing representing countries from which authorizations will be allowed. Authorizations from merchants in all other countries will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `blocked_merchant_countries`. Provide an empty value to unset this control.
        """
        blocked_card_presences: Optional[
            List[Union[Literal["not_present", "present"], str]]
        ]
        """
        Array of card presence statuses from which authorizations will be declined. Possible options are `present`, `not_present`. Cannot be set with `allowed_card_presences`. Provide an empty value to unset this control.
        """
        blocked_categories: Optional[
            List[
                Union[
                    Literal[
                        "ac_refrigeration_repair",
                        "accounting_bookkeeping_services",
                        "advertising_services",
                        "agricultural_cooperative",
                        "airlines_air_carriers",
                        "airports_flying_fields",
                        "ambulance_services",
                        "amusement_parks_carnivals",
                        "antique_reproductions",
                        "antique_shops",
                        "aquariums",
                        "architectural_surveying_services",
                        "art_dealers_and_galleries",
                        "artists_supply_and_craft_shops",
                        "auto_and_home_supply_stores",
                        "auto_body_repair_shops",
                        "auto_paint_shops",
                        "auto_service_shops",
                        "automated_cash_disburse",
                        "automated_fuel_dispensers",
                        "automobile_associations",
                        "automotive_parts_and_accessories_stores",
                        "automotive_tire_stores",
                        "bail_and_bond_payments",
                        "bakeries",
                        "bands_orchestras",
                        "barber_and_beauty_shops",
                        "betting_casino_gambling",
                        "bicycle_shops",
                        "billiard_pool_establishments",
                        "boat_dealers",
                        "boat_rentals_and_leases",
                        "book_stores",
                        "books_periodicals_and_newspapers",
                        "bowling_alleys",
                        "bus_lines",
                        "business_secretarial_schools",
                        "buying_shopping_services",
                        "cable_satellite_and_other_pay_television_and_radio",
                        "camera_and_photographic_supply_stores",
                        "candy_nut_and_confectionery_stores",
                        "car_and_truck_dealers_new_used",
                        "car_and_truck_dealers_used_only",
                        "car_rental_agencies",
                        "car_washes",
                        "carpentry_services",
                        "carpet_upholstery_cleaning",
                        "caterers",
                        "charitable_and_social_service_organizations_fundraising",
                        "chemicals_and_allied_products",
                        "child_care_services",
                        "childrens_and_infants_wear_stores",
                        "chiropodists_podiatrists",
                        "chiropractors",
                        "cigar_stores_and_stands",
                        "civic_social_fraternal_associations",
                        "cleaning_and_maintenance",
                        "clothing_rental",
                        "colleges_universities",
                        "commercial_equipment",
                        "commercial_footwear",
                        "commercial_photography_art_and_graphics",
                        "commuter_transport_and_ferries",
                        "computer_network_services",
                        "computer_programming",
                        "computer_repair",
                        "computer_software_stores",
                        "computers_peripherals_and_software",
                        "concrete_work_services",
                        "construction_materials",
                        "consulting_public_relations",
                        "correspondence_schools",
                        "cosmetic_stores",
                        "counseling_services",
                        "country_clubs",
                        "courier_services",
                        "court_costs",
                        "credit_reporting_agencies",
                        "cruise_lines",
                        "dairy_products_stores",
                        "dance_hall_studios_schools",
                        "dating_escort_services",
                        "dentists_orthodontists",
                        "department_stores",
                        "detective_agencies",
                        "digital_goods_applications",
                        "digital_goods_games",
                        "digital_goods_large_volume",
                        "digital_goods_media",
                        "direct_marketing_catalog_merchant",
                        "direct_marketing_combination_catalog_and_retail_merchant",
                        "direct_marketing_inbound_telemarketing",
                        "direct_marketing_insurance_services",
                        "direct_marketing_other",
                        "direct_marketing_outbound_telemarketing",
                        "direct_marketing_subscription",
                        "direct_marketing_travel",
                        "discount_stores",
                        "doctors",
                        "door_to_door_sales",
                        "drapery_window_covering_and_upholstery_stores",
                        "drinking_places",
                        "drug_stores_and_pharmacies",
                        "drugs_drug_proprietaries_and_druggist_sundries",
                        "dry_cleaners",
                        "durable_goods",
                        "duty_free_stores",
                        "eating_places_restaurants",
                        "educational_services",
                        "electric_razor_stores",
                        "electric_vehicle_charging",
                        "electrical_parts_and_equipment",
                        "electrical_services",
                        "electronics_repair_shops",
                        "electronics_stores",
                        "elementary_secondary_schools",
                        "emergency_services_gcas_visa_use_only",
                        "employment_temp_agencies",
                        "equipment_rental",
                        "exterminating_services",
                        "family_clothing_stores",
                        "fast_food_restaurants",
                        "financial_institutions",
                        "fines_government_administrative_entities",
                        "fireplace_fireplace_screens_and_accessories_stores",
                        "floor_covering_stores",
                        "florists",
                        "florists_supplies_nursery_stock_and_flowers",
                        "freezer_and_locker_meat_provisioners",
                        "fuel_dealers_non_automotive",
                        "funeral_services_crematories",
                        "furniture_home_furnishings_and_equipment_stores_except_appliances",
                        "furniture_repair_refinishing",
                        "furriers_and_fur_shops",
                        "general_services",
                        "gift_card_novelty_and_souvenir_shops",
                        "glass_paint_and_wallpaper_stores",
                        "glassware_crystal_stores",
                        "golf_courses_public",
                        "government_licensed_horse_dog_racing_us_region_only",
                        "government_licensed_online_casions_online_gambling_us_region_only",
                        "government_owned_lotteries_non_us_region",
                        "government_owned_lotteries_us_region_only",
                        "government_services",
                        "grocery_stores_supermarkets",
                        "hardware_equipment_and_supplies",
                        "hardware_stores",
                        "health_and_beauty_spas",
                        "hearing_aids_sales_and_supplies",
                        "heating_plumbing_a_c",
                        "hobby_toy_and_game_shops",
                        "home_supply_warehouse_stores",
                        "hospitals",
                        "hotels_motels_and_resorts",
                        "household_appliance_stores",
                        "industrial_supplies",
                        "information_retrieval_services",
                        "insurance_default",
                        "insurance_underwriting_premiums",
                        "intra_company_purchases",
                        "jewelry_stores_watches_clocks_and_silverware_stores",
                        "landscaping_services",
                        "laundries",
                        "laundry_cleaning_services",
                        "legal_services_attorneys",
                        "luggage_and_leather_goods_stores",
                        "lumber_building_materials_stores",
                        "manual_cash_disburse",
                        "marinas_service_and_supplies",
                        "marketplaces",
                        "masonry_stonework_and_plaster",
                        "massage_parlors",
                        "medical_and_dental_labs",
                        "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                        "medical_services",
                        "membership_organizations",
                        "mens_and_boys_clothing_and_accessories_stores",
                        "mens_womens_clothing_stores",
                        "metal_service_centers",
                        "miscellaneous",
                        "miscellaneous_apparel_and_accessory_shops",
                        "miscellaneous_auto_dealers",
                        "miscellaneous_business_services",
                        "miscellaneous_food_stores",
                        "miscellaneous_general_merchandise",
                        "miscellaneous_general_services",
                        "miscellaneous_home_furnishing_specialty_stores",
                        "miscellaneous_publishing_and_printing",
                        "miscellaneous_recreation_services",
                        "miscellaneous_repair_shops",
                        "miscellaneous_specialty_retail",
                        "mobile_home_dealers",
                        "motion_picture_theaters",
                        "motor_freight_carriers_and_trucking",
                        "motor_homes_dealers",
                        "motor_vehicle_supplies_and_new_parts",
                        "motorcycle_shops_and_dealers",
                        "motorcycle_shops_dealers",
                        "music_stores_musical_instruments_pianos_and_sheet_music",
                        "news_dealers_and_newsstands",
                        "non_fi_money_orders",
                        "non_fi_stored_value_card_purchase_load",
                        "nondurable_goods",
                        "nurseries_lawn_and_garden_supply_stores",
                        "nursing_personal_care",
                        "office_and_commercial_furniture",
                        "opticians_eyeglasses",
                        "optometrists_ophthalmologist",
                        "orthopedic_goods_prosthetic_devices",
                        "osteopaths",
                        "package_stores_beer_wine_and_liquor",
                        "paints_varnishes_and_supplies",
                        "parking_lots_garages",
                        "passenger_railways",
                        "pawn_shops",
                        "pet_shops_pet_food_and_supplies",
                        "petroleum_and_petroleum_products",
                        "photo_developing",
                        "photographic_photocopy_microfilm_equipment_and_supplies",
                        "photographic_studios",
                        "picture_video_production",
                        "piece_goods_notions_and_other_dry_goods",
                        "plumbing_heating_equipment_and_supplies",
                        "political_organizations",
                        "postal_services_government_only",
                        "precious_stones_and_metals_watches_and_jewelry",
                        "professional_services",
                        "public_warehousing_and_storage",
                        "quick_copy_repro_and_blueprint",
                        "railroads",
                        "real_estate_agents_and_managers_rentals",
                        "record_stores",
                        "recreational_vehicle_rentals",
                        "religious_goods_stores",
                        "religious_organizations",
                        "roofing_siding_sheet_metal",
                        "secretarial_support_services",
                        "security_brokers_dealers",
                        "service_stations",
                        "sewing_needlework_fabric_and_piece_goods_stores",
                        "shoe_repair_hat_cleaning",
                        "shoe_stores",
                        "small_appliance_repair",
                        "snowmobile_dealers",
                        "special_trade_services",
                        "specialty_cleaning",
                        "sporting_goods_stores",
                        "sporting_recreation_camps",
                        "sports_and_riding_apparel_stores",
                        "sports_clubs_fields",
                        "stamp_and_coin_stores",
                        "stationary_office_supplies_printing_and_writing_paper",
                        "stationery_stores_office_and_school_supply_stores",
                        "swimming_pools_sales",
                        "t_ui_travel_germany",
                        "tailors_alterations",
                        "tax_payments_government_agencies",
                        "tax_preparation_services",
                        "taxicabs_limousines",
                        "telecommunication_equipment_and_telephone_sales",
                        "telecommunication_services",
                        "telegraph_services",
                        "tent_and_awning_shops",
                        "testing_laboratories",
                        "theatrical_ticket_agencies",
                        "timeshares",
                        "tire_retreading_and_repair",
                        "tolls_bridge_fees",
                        "tourist_attractions_and_exhibits",
                        "towing_services",
                        "trailer_parks_campgrounds",
                        "transportation_services",
                        "travel_agencies_tour_operators",
                        "truck_stop_iteration",
                        "truck_utility_trailer_rentals",
                        "typesetting_plate_making_and_related_services",
                        "typewriter_stores",
                        "u_s_federal_government_agencies_or_departments",
                        "uniforms_commercial_clothing",
                        "used_merchandise_and_secondhand_stores",
                        "utilities",
                        "variety_stores",
                        "veterinary_services",
                        "video_amusement_game_supplies",
                        "video_game_arcades",
                        "video_tape_rental_stores",
                        "vocational_trade_schools",
                        "watch_jewelry_repair",
                        "welding_repair",
                        "wholesale_clubs",
                        "wig_and_toupee_stores",
                        "wires_money_orders",
                        "womens_accessory_and_specialty_shops",
                        "womens_ready_to_wear_stores",
                        "wrecking_and_salvage_yards",
                    ],
                    str,
                ]
            ]
        ]
        """
        Array of strings containing [categories](https://docs.stripe.com/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`.
        """
        blocked_merchant_countries: Optional[List[str]]
        """
        Array of strings containing representing countries from which authorizations will be declined. Country codes should be ISO 3166 alpha-2 country codes (e.g. `US`). Cannot be set with `allowed_merchant_countries`. Provide an empty value to unset this control.
        """
        spending_limits: Optional[List[SpendingLimit]]
        """
        Limit spending with amount-based rules that apply across this cardholder's cards.
        """
        spending_limits_currency: Optional[str]
        """
        Currency of the amounts within `spending_limits`.
        """
        _inner_class_types = {"spending_limits": SpendingLimit}

    billing: Billing
    company: Optional[Company]
    """
    Additional information about a `company` cardholder.
    """
    created: int
    """
    Time at which the object was created. Measured in seconds since the Unix epoch.
    """
    email: Optional[str]
    """
    The cardholder's email address.
    """
    id: str
    """
    Unique identifier for the object.
    """
    individual: Optional[Individual]
    """
    Additional information about an `individual` cardholder.
    """
    livemode: bool
    """
    If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
    """
    metadata: UntypedStripeObject[str]
    """
    Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
    """
    name: str
    """
    The cardholder's name. This will be printed on cards issued to them.
    """
    object: Literal["issuing.cardholder"]
    """
    String representing the object's type. Objects of the same type share the same value.
    """
    phone_number: Optional[str]
    """
    The cardholder's phone number. This is required for all cardholders who will be creating EU cards. See the [3D Secure documentation](https://docs.stripe.com/issuing/3d-secure#when-is-3d-secure-applied) for more details.
    """
    preferred_locales: Optional[
        List[Union[Literal["de", "en", "es", "fr", "it"], str]]
    ]
    """
    The cardholder's preferred locales (languages), ordered by preference. Locales can be `de`, `en`, `es`, `fr`, or `it`.
     This changes the language of the [3D Secure flow](https://docs.stripe.com/issuing/3d-secure) and one-time password messages sent to the cardholder.
    """
    requirements: Requirements
    spending_controls: Optional[SpendingControls]
    """
    Rules that control spending across this cardholder's cards. Refer to our [documentation](https://docs.stripe.com/issuing/controls/spending-controls) for more details.
    """
    status: Union[Literal["active", "blocked", "inactive"], str]
    """
    Specifies whether to permit authorizations on this cardholder's cards.
    """
    type: Union[Literal["company", "individual"], str]
    """
    One of `individual` or `company`. See [Choose a cardholder type](https://docs.stripe.com/issuing/other/choose-cardholder) for more details.
    """

    @classmethod
    def create(
        cls, **params: Unpack["CardholderCreateParams"]
    ) -> "Cardholder":
        """
        Creates a new Issuing Cardholder object that can be issued cards.
        """
        return cast(
            "Cardholder",
            cls._static_request(
                "post",
                cls.class_url(),
                params=params,
            ),
        )

    @classmethod
    async def create_async(
        cls, **params: Unpack["CardholderCreateParams"]
    ) -> "Cardholder":
        """
        Creates a new Issuing Cardholder object that can be issued cards.
        """
        return cast(
            "Cardholder",
            await cls._static_request_async(
                "post",
                cls.class_url(),
                params=params,
            ),
        )

    @classmethod
    def list(
        cls, **params: Unpack["CardholderListParams"]
    ) -> ListObject["Cardholder"]:
        """
        Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        """
        result = cls._static_request(
            "get",
            cls.class_url(),
            params=params,
        )
        if not isinstance(result, ListObject):
            raise TypeError(
                "Expected list object from API, got %s"
                % (type(result).__name__)
            )

        return result

    @classmethod
    async def list_async(
        cls, **params: Unpack["CardholderListParams"]
    ) -> ListObject["Cardholder"]:
        """
        Returns a list of Issuing Cardholder objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        """
        result = await cls._static_request_async(
            "get",
            cls.class_url(),
            params=params,
        )
        if not isinstance(result, ListObject):
            raise TypeError(
                "Expected list object from API, got %s"
                % (type(result).__name__)
            )

        return result

    @classmethod
    def modify(
        cls, id: str, **params: Unpack["CardholderModifyParams"]
    ) -> "Cardholder":
        """
        Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        """
        url = "%s/%s" % (cls.class_url(), sanitize_id(id))
        return cast(
            "Cardholder",
            cls._static_request(
                "post",
                url,
                params=params,
            ),
        )

    @classmethod
    async def modify_async(
        cls, id: str, **params: Unpack["CardholderModifyParams"]
    ) -> "Cardholder":
        """
        Updates the specified Issuing Cardholder object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        """
        url = "%s/%s" % (cls.class_url(), sanitize_id(id))
        return cast(
            "Cardholder",
            await cls._static_request_async(
                "post",
                url,
                params=params,
            ),
        )

    @classmethod
    def retrieve(
        cls, id: str, **params: Unpack["CardholderRetrieveParams"]
    ) -> "Cardholder":
        """
        Retrieves an Issuing Cardholder object.
        """
        instance = cls(id, **params)
        instance.refresh()
        return instance

    @classmethod
    async def retrieve_async(
        cls, id: str, **params: Unpack["CardholderRetrieveParams"]
    ) -> "Cardholder":
        """
        Retrieves an Issuing Cardholder object.
        """
        instance = cls(id, **params)
        await instance.refresh_async()
        return instance

    _inner_class_types = {
        "billing": Billing,
        "company": Company,
        "individual": Individual,
        "requirements": Requirements,
        "spending_controls": SpendingControls,
    }
