# Command: renewals-120-day-batch

Identify all leases expiring within 120 days and batch-open pricing-approval tasks or renewal offers for manager review.

## Inputs

- **Lease database** — property management system with active leases and expiration dates; default read-only access to current tenant
- **Renewal window** — days ahead to scan for expiring leases; default 120
- **Pricing rule** — percentage increase, fixed amount, or market-rate anchor to apply; default {management_rule}
- **Approval threshold** — approval required for increases above this amount; default {approval_threshold}
- **Escalation contacts** — email or Slack handle for maintenance emergencies; default {ops_manager}

## Steps

1. Query the lease database for all active leases expiring between today and 120 days from now.
2. Group leases by renewal date and property to batch process them.
3. For each lease, calculate the renewal offer using the pricing rule.
4. If the increase exceeds the approval threshold, claim a pricing-approval task (do not send the offer yet).
5. If no escalation is needed, claim a renewal-offer task to send the renewal terms.
6. Escalate any lease with emergency maintenance requests or special terms directly to the ops manager.

## Constraints

- Draft renewal offers and formal notices for manager review; never send autonomously.
- Escalate emergency maintenance requests to a human immediately without waiting for batch completion.
- Do not process leases with pending disputes or legal holds.

Done when: every lease expiring within 120 days has a corresponding pricing-approval or renewal-offer task assigned to the appropriate manager.