# file information as extracted from SalesInfo_Definition.pdf

attributes = [
("MAPBLOLOT", "Text",  20, "MAP / BLOCK / LOT NUMBER (Parcel ID)"),
("UNIT", "Text",  8, "Unit Number"),
("USECODE", "Text",  3, "Use code identifies Property type and exemption status"),
("NO_PARCELS", "Numeric", 3, "Number of parcels in the sale."),
("ROUTINGNUM", "Text",  20, "Routing Number"),
("ACCTNUM", "Text",  20, "Owner's Account Number"),
("ACCT_PRV", "Text",  20, "Account number of previous owner"),
("ADDLIVAREA", "Numeric", 12, "Additional Living Area (SQFT)"),
("ADDLIVVAL", "Numeric", 10, "Additional Living Area Value"),
("ADDPORADJ", "Numeric", 10, "Total Additions Value"),
("ADDRESS1", "Text",  35, "Address Line #1 - C/Owner or In Care of Name"),
("ADDRESS2", "Text",  35, "Address Line # 2 - Primary Street Address"),
("ADDRESS3", "Text",  35, "Address Line # 3 - City State & ZipCode"),
("AIRTYPE", "Text",  2, "Type Air Conditioning"),
("ATTIC", "Text",  2, "Attic Type Code"),
("ATTICADJ", "Numeric", 5, "Total Attic Adjusted Value - all cards"),
("ATTIC_SQFT", "Numeric", 12, "Total Attic Square Footage"),
("BASEGAR", "Numeric", 2, "Basement Garage - Car Capacity"),
("BASEGARVAL", "Numeric", 6, "Basement Garage Value - all cards"),
("BASEMENT", "Text", 2, "Basement Code"),
("BASMNTADJ", "Numeric", 12, "Basement Adjustment Value"),
("CONDITION", "Text",  2, "Condition Code"),
("CONVEYANCE", "Text",  15, "Conveyance Number/Transfer Number for the Sale"),
("COOLING", "Logic", 1, "(T)rue if dwelling has air conditioning."),
("DATESALE", "D", 8, "Date of Sale - (YYYYMMDD)"),
("DINIROOMS", "Numeric",3, "Number of Dinning Rooms."),
("EFFYEARBLT", "Numeric",  4, "Effective Age"),
("EXTWALLS", "Text",  2, "RESID.EXTWALLS Exterior Wall Code"),
("FAMLROOMS", "Numeric",  3, "Number of Family Rooms"),
("FEATURES", "Numeric",  7, "Value of features"),
("FILETYPE", "Text",  1, "Physical Record Type R=Residential / C=Commercial"),
("FINBASETYP", "Text",  1, "Finished Basement - Type"),
("FINBASEVAL", "Numeric",  7, "Total Finished Basement Value - all cards"),
("FINCUR_USE", "Logic", 1, "FVC Current Use Flag (T)rue, or (F)alse"),
("FINVALIMP", "Numeric", 12, "Final Value Determination of Building / Improvements Value"),
("FINVALLND", "Numeric",  12, "Final Value Determination of Land Value"),
("FINVALTOT", "Numeric",  13, "Final Value Determination of Building / Improvements Value + Final Value Determination of Land Value"),
("FIREOPEN", " Numeric", 3, "Number Fire Place Openings (All cards for Parcel#)"),
("FIRESTACKS", " Numeric", 3, "Number Fire Place Stacks (All cards for Parcel#)"),
("FIREVALUE", " Numeric", 10, "Fireplace Value ($) (All cards for Parcel#)"),
("GFEATURE", " Numeric", 12, "Features graded with the Dwelling Value"),
("GRADEADJ", " Numeric", 6, "Grade Adjustment"),
("GRADEINCRE", " Numeric", 3, "RESID.GRADEINC Grade Increment"),
("HEATADJ", " Numeric", 6, "Heating Adjustment"),
("HEATING", " Text", 2, "Heating Code"),
("INITREV", " Text", 3, "Reviewers' Initials"),
("INST_TYPE", " Text", 2, "Instrument Type used to record the Sale"),
("LANDONLY", " Logic",  1, "(T)rue for land only else (F)alse"),
("LETGRADE", " Text", 4, "RESID.LETGRADE Letter Grade Code"),
("LIVEROOMS", " Numeric", 3, "Number of Living Rooms"),
("LIVE_FSQFT", " Numeric", 12, "Total Sqft. of Finished Living Area of Main Building and Additions"),
("APPRAISAL_AREA", " Text", 10, "Appraisal Area"),
("NORMDEPREC", " Numeric", 6, "Normal Depreciation"),
("NUMACRES", " Numeric", 13, "Number of Acres of Land Line"),
("NUMBDROOMS", " Numeric", 3, "Number of Bedrooms"),
("NUM_UNITS", " Numeric", 10, "Number of Units"),
("OBSOL1", " Text", 2, "Obsolesence Code #1"),
("OBSOL2", " Text", 2, "Obsolesence Code #2"),
("OBSOL3", " Text", 2, "Obsolesence Code #3"),
("ORPHANED", " Logic",  1, "If parcel has been orphaned in a split/copy/transfer function (T)rue or (F)alse"),
("OUTVALUE", "Numeric", 13, "Out building Value"),
("OWNER_OCC", " Text", 1, "Owner Occupied"),
("OWNER_CUR", " Text", 70, "Current Owner's Name"),
("PERCENT1", " Numeric", 3, "RESID.PERCENT1 Obsolesence Percentage # 1"),
("PERCENT2", " Numeric", 3, "RESID.PERCENT1 Obsolesence Percentage # 2"),
("PERCENT3", " Numeric", 3, "RESID.PERCENT1 Obsolesence Percentage # 3"),
("PLUMBADJ", " Numeric", 12, "Sum of RESID.PLUMBADJ Plumbing Adjustment for all cards"),
("PRVOWNR", " Text", 70, "Previous Owner"),
("REC_CNT", " Text", 1, "Number of sales records for this Parcel"),
("REPLCOST", " Numeric", 13, "Sum of RESID.REPLCOST Replacement Cost for all cards"),
("SALEPRICE", " Numeric", 12, "Sale Price"),
("SALE_CLASS", " Text", 2, "Sale Class - Type of Transfer"),
("SQFTBUILD", " Numeric", 9, "Sum of RESID.SQFTBUILD Footprint of Building in SqFt - All Cards"),
("SQFTFIN", " Numeric", 7, "Square Foot - Finished"),
("SQFTLOT", " Numeric", 12, "Lot Size in Acres"),
("SQFT_FLR1", " Numeric", 12, "Square footage of 1st floor."),
("SQFT_FLR2", " Numeric", 12, "Square footage of upper floor(s)"),
("SQFT_FLRH", " Numeric", 12, "Square footage of half floor(s)"),
("STATECODE", " Text", 4, "State Classification Code"),
("STORYHTADJ", " Numeric",4, "Story Height Adjustment"),
("STYHEIGHT", " Numeric", 6, "Story Height"),
("STYLE", " Text", 2, "Style of House Code"),
("ST_DIR", " Text", 2, "Prefix Directional for Street"),
("ST_NAME", " Text", 28, "Street Name"),
("ST_NUMBER", " Text", 7, "Street/House number of property"),
("ST_UNIT", " Text", 5, "Unit number for Building, Condominium, Apartment and etc."),
("ST_ZIP", " Text", 10, "Zipcode"),
("SUBDIV", " Text", 5, "Code to identify a subdivision"),
("TOPOGRAPHY", " Text", 2, "Topography Code"),
("TOTALROOMS", " Numeric", 5, "Total Number of Rooms"),
("TOTPER", " Numeric", 5, "Total Percent Obsolescence (PERCENT1+PERCENT2+PERCENT3)"),
("TREND", "Text", 2, "Neighborhood Trend"),
("UGFEATURE", "Numeric", 12, "Ungraded Features Value"),
("UTILITIES", "Text", 4, "Type of Utilities: Water, Water/Sewer, Elect, Gas, etc."),
("YEARBUILT", "Numeric", 4, "Year Built"),
("YEARREMOD", "Numeric", 4, "Year Remodeled"),
("ZIPCODE", "Text", 10, "ZIPCODE of Property Location"),
("SCHOOLDIST", "Text", 5, "School District from Absstart"),
("HALFBATHS", "Numeric", 3, "Number of Half Baths from Residential"),
("FULLBATHS", "Numeric", 3, "Number of Full Baths from Residential"),
("DELETED", " Logic",  1, "Deleted Record Status- Archived. If Deleted=(T)rue, not deleted=(F)alse."),
("TRANSNUMBR", " Text", 9, "Transaction number assigned by system during special functions to perform transaction tracking"),
("TYEAR", " Text", 4, "Applicable year")]

plain_text_names = {"MAPBLOLOT": "parcel_id",
                "USECODE": "use_code",
                "NO_PARCELS": "num_parcels_in_sale",
                "ACCTNUM": "current_owner_account_number",
                "ACCT_PRV": "previous_owner_account_number",
                "ADDLIVAREA": "additional_living_area_sqft",
                "ADDLIVVAL": "additional_living_area_value",
                "ADDPORADJ": "total_additions_value",
                "ADDRESS1": "address_line1",
                "ADDRESS2": "address_line2",
                "ADDRESS3": "address_line3",
                "AIRTYPE": "airconditioning_type",
                "ATTIC_SQFT": "attic_area_sqft",
                "BASEGAR": "basement_garage_capacity",
                "BASEMENT": "basement_code",
                "BASMNTADJ": "basement_value",
                "CONDITION": "condition_code",
                "CONVEYANCE": "sale_transfer_number",
                "COOLING": "has_airconditioning",
                "DATESALE": "sale_date",
                "EXTWALLS": "exterior_walls_code",
                "FAMLROOMS": "num_family_rooms",
                "FILETYPE": "residential_or_commercial",
                "FINBASETYP": "has_finished_basement",
                "FINCUR_USE": "is_in_use",
                "FINVALIMP": "building_final_value",
                "FINVALLND": "land_final_value",
                "FINVALTOT": "total_final_value",
                "FIREOPEN": "num_open_fireplaces",
                "FIRESTACKS": "num_fire_stacks",
                "HEATING": "heating_code",
                "INST_TYPE": "instrument_to_record_sale",
                "LETGRADE": "letter_grade_code",
                "LIVE_FSQFT": "finished_living_area_sqft",
                "APPRAISAL_AREA": "appraisal_area",
                "NUMACRES": "num_acres_land",
                "NUMBDROOMS": "num_bedrooms",
                "OWNER_CUR": "current_owner_name",
                "PRVOWNR": "previous_owner_name",
                "SALEPRICE": "sale_price",
                "SALE_CLASS": "sale_class",
                "SQFTBUILD": "building_area_sqft",
                "SQFTFIN": "finished_area_sqft",
                "SQFT_FLR1": "downstairs_area_sqft",
                "SQFT_FLR2": "upstairs_area_sqft",
                "SQFT_FLRH": "half_floor_area_sqft",
                "STATECODE": "state_classification_code",
                "STYHEIGHT": "story_height",
                "STYLE": "style_of_house_code",
                "ST_DIR": "street_prefix_directional",
                "ST_NAME": "street_name",
                "ST_NUMBER": "street_number",
                "TOTALROOMS": "num_total_rooms",
                "YEARBUILT": "year_built",
                "SCHOOLDIST": "school_district",
                "HALFBATHS": "num_half_baths",
                "FULLBATHS": "num_full_baths",
                "DELETED": "is_deleted",
                "TYEAR": "applicable_year"}
