Unified Schengen + tax-residency + tax-cost tracker
check_travel_residencyThe comprehensive engine: from one travel itinerary it returns (1) Schengen 90/180 tourist-visa status (days used/remaining, first overstay, longest compliant stay), (2) per-country tax-residency risk on each country's OWN threshold and basis — the 183-day rule, Cyprus's conditional 60-day rule (flagged only when you're not 183+ resident elsewhere), the US Substantial Presence Test and the UK tax-year test — with safe days left, leave-by dates and a safe/warning/triggered rating, and (3) with an optional income, the tax cost of triggering residency at the standard rate vs an expat regime. Supersedes check_schengen / check_residency / check_tax_residency_risk (all still available). Early-warning day math — not tax advice.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| stays | Yes | ||
| income | No | Optional gross annual income (USD) — enables the tax-cost projection for at-risk countries. | |
| referenceDate | No | Optional 'as of' date. Defaults to today (UTC). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| summary | No | ||
| schengen | No | 90/180 status when any Schengen stay exists: daysUsed, daysRemaining, compliant, firstOverstayDate, maxStayFromRef. | |
| countries | No | ||
| referenceDate | No |