# PartnerAddress

## Description

PartnerAddress is reusable identity-level address data owned by a BusinessPartner. Transaction purpose and default selection are intentionally held by CustomerAddressUsage and SupplierAddressUsage so the same physical address can serve different account contexts.

## Domain Model Definitions

### Model type

Standard

### Command Definitions

- [createPartnerAddress](../command/CreatePartnerAddress.md) - Add a reusable address
- [updatePartnerAddress](../command/UpdatePartnerAddress.md) - Update address fields
- [deactivatePartnerAddress](../command/DeactivatePartnerAddress.md) - Retire an address from new usages
- [reactivatePartnerAddress](../command/ReactivatePartnerAddress.md) - Make a retired address available again

### Query Definitions

None.

### Models

- PartnerAddress

### Invariants

- line1, city, postalCode, and country are required
- country is an ISO 3166-1 alpha-2 code
- New addresses start active and are never physically deleted
- Inactive addresses cannot be assigned to new CustomerAccount or SupplierAccount usages
- Purpose and default flags do not belong to this model

### Relationships

- **References BusinessPartner**: Address owner
- **Referenced By CustomerAddressUsage**: Customer-specific purposes
- **Referenced By SupplierAddressUsage**: Supplier-specific purposes
