yorck-mcp 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,7 +22,7 @@ Plan a manual booking, no account needed:
22
22
  npx yorck-mcp plan --q "devil wears prada" --when tonight --after 18:00
23
23
  ```
24
24
 
25
- This returns a checkout seat-selection link, for example `https://www.yorck.de/en/checkout/seats?sessionid=...`, plus the matching film, cinema, time, and a seat-plan summary.
25
+ This returns a checkout seat-selection link, for example `https://www.yorck.de/en/checkout/seats?sessionid=...`, plus the matching film, cinema, time, and a seat-plan summary. The manual flow lets the user choose seats on Yorck's page.
26
26
 
27
27
  ## Booking
28
28
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yorck-mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {
package/src/cli.ts CHANGED
@@ -393,10 +393,11 @@ async function commandPlan(env: Env, args: ParsedArgs) {
393
393
  const { showtime, seat, seatPlanSummary } = picked;
394
394
  printJson({
395
395
  ok: true,
396
- selected: { ...showtime, seat: { row: seat.rowLabel, seat: seat.seatId } },
396
+ selected: showtime,
397
397
  manualBookingUrl: sessionBookingUrl(env, showtime),
398
398
  filmPageUrl: showtime.url,
399
- note: "No Yorck account or Unlimited card needed. This does not reserve the seat; use the Yorck page to book manually, or run book-best with credentials for a dry-run/booking flow.",
399
+ apiSeatForAutomation: { row: seat.rowLabel, seatId: seat.seatId },
400
+ note: "No Yorck account or Unlimited card needed. This does not reserve the seat; use the Yorck checkout page to choose and book manually. apiSeatForAutomation is for the booking API, not necessarily the visible seat label on Yorck's website.",
400
401
  next: {
401
402
  seatMap: `npx yorck-mcp seat-map ${showtime.sessionId} --out seat-map.svg`,
402
403
  calendar: `npx yorck-mcp calendar ${showtime.sessionId} ${showtime.slug} --out movie.ics`,
@@ -210,10 +210,11 @@ export function registerPublicTools(server: McpServer, env: Env) {
210
210
  content: [{
211
211
  type: "text" as const,
212
212
  text: JSON.stringify({
213
- selected: { ...showtime, seat: { row: seat.rowLabel, seat: seat.seatId } },
213
+ selected: showtime,
214
214
  manualBookingUrl: sessionBookingUrl(env, showtime),
215
215
  filmPageUrl: showtime.url,
216
- note: "This is a read-only plan and does not reserve the seat. Use Yorck manually, or use book_session with local credentials for the Unlimited booking flow.",
216
+ apiSeatForAutomation: { row: seat.rowLabel, seatId: seat.seatId },
217
+ note: "This is a read-only plan and does not reserve the seat. Use Yorck checkout manually, or use book_session with local credentials for the Unlimited booking flow. apiSeatForAutomation is for the booking API, not necessarily the visible seat label on Yorck's website.",
217
218
  rows,
218
219
  }, null, 2),
219
220
  }],