UAD 3.6 Field Reference
Complete field-by-field reference for UAD 3.6 forms.Property Address Fields
Street Address
Field:subject.propertyAddress.street
Type: String
Required: Yes
Max Length: 100
Example: 123 Main Street
City
Field:subject.propertyAddress.city
Type: String
Required: Yes
Max Length: 50
Example: Anytown
State
Field:subject.propertyAddress.state
Type: String
Required: Yes
Format: Two-letter state code
Example: CA
Valid Values:
``
AL, AK, AZ, AR, CA, CO, CT, DE, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME,
MD, MA, MI, MN, MS, MO, MT, NE, NV, NH, NJ, NM, NY, NC, ND, OH, OK, OR, PA,
RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY, DC
`
ZIP Code
Field: subject.propertyAddress.zip
Type: String
Required: Yes
Format: 5 digits or 5+4 digits
Example: 12345 or 12345-6789
County
Field: subject.propertyAddress.county
Type: String
Required: No
Max Length: 50
Example: Los Angeles County
Property Information Fields
Year Built
Field: propertyInfo.yearBuilt
Type: Integer
Required: Yes
Range: 1800 - current year + 2
Example: 1995
Effective Age
Field: propertyInfo.effectiveAge
Type: Integer
Required: No
Range: 0 - 200
Example: 10
Note: Effective age represents the property's condition relative to its actual age.
Gross Living Area (GLA)
Field: propertyInfo.grossLivingArea
Type: Integer
Required: Yes
Unit: Square feet
Range: 100 - 20,000
Example: 2000
Definition: Above-grade finished and habitable area.
Total Rooms
Field: propertyInfo.totalRooms
Type: Integer
Required: Yes
Range: 1 - 50
Example: 7
Note: Does not include bathrooms.
Bedrooms
Field: propertyInfo.bedrooms
Type: Integer
Required: Yes
Range: 0 - 20
Example: 3
Bathrooms
Field: propertyInfo.bathrooms
Type: Decimal
Required: Yes
Format: X.Y where Y is 0, 1, 2, or 5
Example: 2.5
Counting:
- Full bath (tub/shower, toilet, sink) = 1.0
- Three-quarter bath (shower, toilet, sink) = 0.75
- Half bath (toilet, sink) = 0.5
- Quarter bath (toilet only) = 0.25
Basement Area
Field:
propertyInfo.basementArea
Type: Integer
Required: No
Unit: Square feet
Example: 1000
Basement Finished
Field: propertyInfo.basementFinished
Type: Integer
Required: No
Unit: Square feet
Example: 500
Site Fields
Site Area
Field: site.area
Type: Integer
Required: Yes
Unit: Square feet
Example: 15000
Site Dimensions
Field: site.dimensions
Type: String
Required: No
Format: Length x Width
Example: 100x150
Zoning
Field: site.zoning
Type: String
Required: Yes
Max Length: 50
Example: R-1 Single Family
Zoning Compliance
Field: site.zoningCompliance
Type: Enum
Required: Yes
Valid Values:
Legal
Legal Nonconforming
No Zoning
Illegal
View
Field: site.view
Type: String
Required: No
Max Length: 100
Example: Residential
Common Values:
Residential
Water
Mountain
Golf Course
Park/Green Space
Cityscape
Sale Information Fields
Sale Price
Field: contract.salePrice
Type: Decimal
Required: Yes (for purchase transactions)
Range: 0 - 100,000,000
Example: 500000.00
Sale Date
Field: contract.date
Type: Date
Required: Yes (for purchase transactions)
Format: YYYY-MM-DD
Example: 2025-11-01
Property Rights
Field: contract.propertyRights
Type: Enum
Required: Yes
Valid Values:
Fee Simple
Leasehold
Life Estate
Neighborhood Fields
Location Rating
Field: neighborhood.locationRating
Type: Enum
Required: Yes
Valid Values:
Urban
Suburban
Rural
Built Up Percentage
Field: neighborhood.builtUp
Type: Enum
Required: Yes
Valid Values:
Over 75%
25-75%
Under 25%
Growth Rate
Field: neighborhood.growth
Type: Enum
Required: Yes
Valid Values:
Rapid
Stable
Slow
Property Values Trend
Field: neighborhood.propertyValues
Type: Enum
Required: Yes
Valid Values:
Increasing
Stable
Declining
Demand/Supply
Field: neighborhood.demandSupply
Type: Enum
Required: Yes
Valid Values:
Shortage
In Balance
Over Supply
Comparable Sale Fields
Comparable Address
Field: comparables[n].address
Type: String
Required: Yes
Max Length: 200
Example: 456 Oak Street, Anytown, CA 12345
Proximity to Subject
Field: comparables[n].proximityToSubject
Type: String
Required: Yes
Example: 0.5 miles or 2 blocks
Sale Price
Field: comparables[n].salePrice
Type: Decimal
Required: Yes
Example: 495000.00
Sale Date
Field: comparables[n].dateOfSale
Type: Date
Required: Yes
Format: YYYY-MM-DD
Example: 2025-10-15
Validation: Must be within 12 months of effective date (unless market conditions require older comparables).
Data Source
Field: comparables[n].dataSource
Type: String
Required: Yes
Max Length: 50
Example: MLS
Common Values:
MLS
Public Records
Appraiser
Other (describe)
Verification Source
Field: comparables[n].verification
Type: String
Required: Yes
Max Length: 100
Example: Public Records/MLS
Condition Ratings
Overall Condition
Type: Enum
Valid Values:
C1 - Excellent (new or nearly new)
C2 - Very Good (well maintained)
C3 - Good (average wear and tear)
C4 - Fair (deferred maintenance)
C5 - Poor (substantial damage/deferred maintenance)
C6 - Very Poor (structurally unsound)
Example Usage:
`typescript
const conditionRatings = {
foundation: 'C3',
exterior: 'C3',
roof: 'C2',
kitchen: 'C3',
bath: 'C3',
overall: 'C3'
};
`
Quality Ratings
Construction Quality
Type: Enum
Valid Values:
Q1 - Excellent
Q2 - Very Good
Q3 - Good
Q4 - Average
Q5 - Fair
Q6 - Poor
Validation Examples
Complete Field Validation
`typescript
const fieldValidation = {
'subject.propertyAddress.street': {
required: true,
type: 'string',
maxLength: 100
},
'propertyInfo.yearBuilt': {
required: true,
type: 'integer',
min: 1800,
max: new Date().getFullYear() + 2
},
'propertyInfo.grossLivingArea': {
required: true,
type: 'integer',
min: 100,
max: 20000
},
'propertyInfo.bathrooms': {
required: true,
type: 'decimal',
pattern: /^\d+\.(0|1|2|5|25|75)$/
},
'contract.salePrice': {
required: true,
type: 'decimal',
min: 0,
max: 100000000
},
'comparables': {
required: true,
type: 'array',
minItems: 3,
maxItems: 6
}
};
`
Custom Validation Rules
`typescript
function validateUADForm(data: UADForm) {
const errors = [];
// Effective age should not exceed actual age
const actualAge = new Date().getFullYear() - data.propertyInfo.yearBuilt;
if (data.propertyInfo.effectiveAge > actualAge + 10) {
errors.push('Effective age significantly exceeds actual age');
}
// Basement finished should not exceed basement area
if (data.propertyInfo.basementFinished > data.propertyInfo.basementArea) {
errors.push('Finished basement area exceeds total basement area');
}
// Total rooms should be reasonable for number of bedrooms
if (data.propertyInfo.totalRooms < data.propertyInfo.bedrooms) {
errors.push('Total rooms cannot be less than number of bedrooms');
}
return errors;
}
``
Next Steps
Found an issue? Help us improve this page.