# !! This file is automatically generated by: generate_enums.py
#     date: 2025-06-12T16:50:40.202073+00:00

from statscan.enums.schema import Schema
from statscan.enums.geocode.pr_geocode import ProvinceGeoCode


class CensusMetropolitanArea(ProvinceGeoCode):
    """
    Automatically generated Enum for CensusMetropolitanArea
    Name: CMANAME_RMRNOM
    Value: CMAPUID_RMRPIDU
    Prefix: PREABBR_PRAABBREV
    """
    ALTA_CALGARY = 48825  # Calgary
    ALTA_EDMONTON = 48835  # Edmonton
    ALTA_LETHBRIDGE = 48810  # Lethbridge
    ALTA_RED_DEER = 48830  # Red Deer
    BC_ABBOTSFORD_MISSION = 59932  # Abbotsford - Mission
    BC_CHILLIWACK = 59930  # Chilliwack
    BC_KAMLOOPS = 59925  # Kamloops
    BC_KELOWNA = 59915  # Kelowna
    BC_NANAIMO = 59938  # Nanaimo
    BC_VANCOUVER = 59933  # Vancouver
    BC_VICTORIA = 59935  # Victoria
    MAN_WINNIPEG = 46602  # Winnipeg
    NB_FREDERICTON = 13320  # Fredericton
    NB_MONCTON = 13305  # Moncton
    NB_SAINT_JOHN = 13310  # Saint John
    NL_ST_JOHNS = 10001  # St. John's
    NS_HALIFAX = 12205  # Halifax
    ONT_BARRIE = 35568  # Barrie
    ONT_BELLEVILLE_QUINTE_WEST = 35522  # Belleville - Quinte West
    ONT_BRANTFORD = 35543  # Brantford
    ONT_GREATER_SUDBURY = 35580  # Greater Sudbury / Grand Sudbury
    ONT_GUELPH = 35550  # Guelph
    ONT_HAMILTON = 35537  # Hamilton
    ONT_KINGSTON = 35521  # Kingston
    ONT_KITCHENER_CAMBRIDGE_WATERLOO = 35541  # Kitchener - Cambridge - Waterloo
    ONT_LONDON = 35555  # London
    ONT_OSHAWA = 35532  # Oshawa
    ONT_OTTAWA_GATINEAU_ONTARIO_PART = 35505  # Ottawa - Gatineau (Ontario part / partie de l'Ontario)
    ONT_PETERBOROUGH = 35529  # Peterborough
    ONT_ST_CATHARINES_NIAGARA = 35539  # St. Catharines - Niagara
    ONT_THUNDER_BAY = 35595  # Thunder Bay
    ONT_TORONTO = 35535  # Toronto
    ONT_WINDSOR = 35559  # Windsor
    QUE_DRUMMONDVILLE = 24447  # Drummondville
    QUE_MONTRÉAL = 24462  # Montréal
    QUE_OTTAWA_GATINEAU_PARTIE_DU_QUÉBEC = 24505  # Ottawa - Gatineau (partie du Québec / Quebec part)
    QUE_QUÉBEC = 24421  # Québec
    QUE_SAGUENAY = 24408  # Saguenay
    QUE_SHERBROOKE = 24433  # Sherbrooke
    QUE_TROIS_RIVIÈRES = 24442  # Trois-Rivières
    SASK_REGINA = 47705  # Regina
    SASK_SASKATOON = 47725  # Saskatoon

    @classmethod
    def get_schema(cls) -> Schema:
        """Return the Schema for this geo code type."""
        return Schema.CMA

    @classmethod
    def get_nchars(cls) -> int:
        """
        Return the number of characters in the code for this enum.
        """
        return 3
