# Agent guide to Sefer İptal results

Sefer İptal publishes independent information about supported İDO ferry services in Turkey. Use this guide to find a route, request sailing results, interpret the fields and cite the source. The data service is public and requires no account.

## Fetch results

Start with the route catalogue. Search with a short port or route name; Turkish names can be searched without accents. The response includes exact `route_id` values and source links. Date is optional here and defaults to today in Europe/Istanbul.

```sh
curl --get 'https://seferiptal.com/results/' \
  --data-urlencode 'query=Bandirma' \
  --data-urlencode 'date=tomorrow' \
  --data-urlencode 'format=json'
```

Then request one route and date. Use an ID returned by the catalogue; do not guess route IDs. The JSON response is the same structured result object exposed as MCP `structuredContent` (without a JSON-RPC envelope). Omit `format=json` for a readable HTML page.

```sh
curl --get 'https://seferiptal.com/results/' \
  --data-urlencode 'route_id=500114-P>500205-P' \
  --data-urlencode 'date=tomorrow' \
  --data-urlencode 'format=json'
```

`date` accepts `today`, `tomorrow`, or a real calendar date in `YYYY-MM-DD` format. Relative dates are resolved in Europe/Istanbul. Sailings are searched for one calendar day per request. Results contain at most 50 rows; when `next_offset` is present, request that offset to continue. Catalogue queries also accept `offset` and return `next_offset` when more routes match.

## HTTP clients and failures

Use a descriptive User-Agent identifying your application when making HTTP requests. For example, Python urllib requests can set a User-Agent header such as SeferIptalExampleClient/1.0. Do not impersonate search crawlers. A 403, challenge page, timeout, or browsing-tool access error is an access failure, not evidence of no sailings. Report the failure and retry later; do not invent a result.

## Connect with MCP

For MCP-compatible clients, connect to `https://seferiptal.com/mcp` with no authentication. Use the official MCP client transport, which performs protocol initialization and tool discovery.

- `list_ferry_routes`: optional `query`, `limit` (1–50, default 20), and `offset` (0–1000). Find exact route IDs before querying sailings.
- `search_ferry_sailings`: required `start_date` and `end_date`; optional `route_id`, `status`, `limit`, and `offset`. Dates are `YYYY-MM-DD` in Europe/Istanbul. A range can span at most seven days.
- `get_ferry_sailing`: required `route_id`, `date`, and `sailing_key` copied from a sailing search result. Use this to recheck one specific departure.

The MCP search window is limited to dates from 30 days ago through six days ahead, inclusive. The public `/results/` page uses the same date window. Invalid or unavailable requests return an error; do not silently substitute another date.

## Interpret results carefully

- `status` and `status_meaning` describe the latest observed operator record. `cancelled` means İDO reported a cancellation. `scheduled` means listed at the check time; it does not guarantee operation. `completed` means İDO reported completion. `assumed_sailed` is an assumption after departure, not a confirmed completion. `unknown` is unconfirmed.
- `current_prediction` is a model estimate for a scheduled sailing when a current estimate is available. It is a probability from 0 to 1, not a percentage string: multiply by 100 to present percent. Display values below 1% as <1% and above 99% as >99% to avoid implying certainty through rounding. Label it estimated cancellation risk, explain that the model is experimental, and show its `calculated_at` timestamp when provided. A percentage does not mean a cancellation was reported.
- `recorded_prediction` is the estimate stored before departure. `retrospective_prediction` was calculated after departure. Neither should be described as a current forecast.
- For the route catalogue, check `reference_stale` and `checked_at`. For sailings, check top-level `stale`, `historical`, `checked_at`, `retrieved_at`, each sailing's `stale`, `historical`, and `checked_at`, plus `warning_codes`. Prediction times can differ from observation times. If a value is null, missing, stale, or unavailable, say so; do not infer zero risk, no service, or no cancellations.
- Departure and arrival times include provenance fields such as `operator_booking`, `operator_listing`, `route_default_estimate`, or `unknown`. If `route_default_estimate` appears in an older record, label that time an estimate; do not treat it as an operator-published time. Missing or unknown times remain unknown. Use `Europe/Istanbul` for displayed dates and times; JSON timestamps retain their explicit ISO time zone.

The service covers supported İDO ferry services in Turkey, not every Turkish operator or worldwide routes. Model estimates are experimental; accuracy using future weather forecasts has not been validated. Verify travel directly with [İDO](https://www.ido.com.tr/).

## Cite the result

Include the route, travel date, status, check time and any prediction calculation time. Cite the sailing's `source_url` and link the matching readable result page when available. The `source_url` points to Sefer İptal’s tracker. Link the [data sources and attribution page](https://seferiptal.com/en/data-sources/) when explaining methods or weather inputs. Do not present historical archive statistics as a live estimate.

A concise report could say: “Sefer İptal listed the Yenikapı–Bandırma sailing (source: SOURCE_LINK) as scheduled when checked at CHECK_TIME (İstanbul time). Its experimental model estimate was PERCENT, calculated at CALCULATED_AT. This is a risk estimate, not an İDO cancellation notice; verify with İDO.” Replace every placeholder from the actual response, and omit a prediction claim when no current prediction is returned.

## Other public references

- [Live result pages](https://seferiptal.com/results/) — route discovery and date-specific HTML or JSON results.
- [MCP endpoint](https://seferiptal.com/mcp) — connect with an MCP client; the endpoint is a protocol service, not a browser page.
- [Public page index](https://seferiptal.com/llms.txt) — optional directory of published articles and guides. It is not a data feed or a guarantee of indexing.
- [Turkish live tracker](https://seferiptal.com/) and [English live tracker](https://seferiptal.com/en/).
