Skip to content

Season 2a server operations (part A) - #12

Draft
pietechsolution wants to merge 13 commits into
mainfrom
season-2a-server
Draft

pietechsolution wants to merge 13 commits into
mainfrom
season-2a-server

Conversation

@pietechsolution

Copy link
Copy Markdown
Contributor

Draft for CI only. Do not merge: the season 2a SDK changes merge and release together at the end of 2a, on the owner's yes. No version bump, no tag.

What was added (71 operations)

  • seasons: 32 more season methods (48 to 80): performances, plan edits, publish, checkout tests, package prices, occurrence returns and reclaims, holders, season order refunds and cancellations, hosted renewals and renewal emails, sales and seat reports, holders and orders CSV exports.
  • holders (new resource, 11): holder reads and changes, tickets, transfers, list_customers.
  • orders (new resource, 9): /v1/orders and the event order routes, including refund, cancel, resend and CSV export.
  • events: 14 event sales settings methods (checkout choice, payment gateway, readiness, preflight, transition, booking fee, discount codes).
  • event_series (new resource, 5).
  • Method names are the snake_case operation ids. 22 new header-replay mutations use the existing replay path (36 in all); domain-exact and unsupported ones are sent once with no Idempotency-Key.
  • CSV exports return the text body through a new internal HttpClient.get_text; the two 204 deletes return None.
  • 10 webhook event names added to WebhookEventName, the webhooks validator and the README.
  • README (counts, reliability list, API table, exclusions) and an Unreleased CHANGELOG entry.

Local checks (Python 3.15.2; CI covers 3.10-3.13)

  • ruff check src tests: pass
  • mypy: pass
  • pytest -q: 111 passed (51 new tests; the season test now asserts 80 calls)
  • seatmap claims route reader (coverage.mjs --only python): 71/71

… settings, all 56 webhook names, events series_key
…tle (2.16c)

createEventSeries takes fromEventKey: an event already set up becomes the first date under its own key and every other date is a copy of it; name and chartKey are then left out. Every date of a series carries the series' plain name. Matches seatmap slice 2.16c.
Adds releaseSeasonLapsedOffers (POST /v1/seasons/{key}/renewal-offers/release-lapsed, no body, header replay, 202 with the job). retrieveSeasonHostedRenewals pages with cursor and limit (1-500) and answers nextCursor, and listSeasonRenewalOffers pages the same way (1-100). createSeasonRenewalOffers answers 201 {offers} for 100 contracts or fewer and 202 {job, batchId} above that. The bring-across (createSeasonHolderImportFromSeason) answers 202 with a holder_import job above 100 holders. Renewal emails take up to 20,000 offer ids; above that, 422 too_many_offer_ids.
…e_abandoned (p2b)

The public API changes in p2b (b88ed794e..ee7df2921): season_date_cancel_void_job_id names the date_cancel_void job a date cancel starts (season.ticket.voided reason date_cancelled); season_holder_import_rows_per_call sizes a create_season_holder_import call by its dates, now 2 to 50 (a call over it raises SeatLayerValidationError invalid_rows with maxRows); update_season documents singleTicketDates.jobRefused and its exact-retry guard; create_event_series documents 409 create_abandoned. Both helpers are module functions exported from seatlayer.
…b audit)

updateEventSeries sends only the prices that change: each date keeps its
own price for every category or tier left out. A season's null transfer
or return cut-off means the club default from Settings > Ticket site, or
until the date starts when the club has none. Holder transfers and
returns through the secret key are not stopped by the club's customer
switches; cut-offs still apply.
…part C)

A date its season cancelled never opens again: moving its sales to
testable or live, or reopening it, answers 409 season_date_cancelled,
and an event series "sales on" leaves it closed as a failed item of the
job (season_date_cancelled; not in failedDates). A cancelled date can't
be moved, postponed, replaced or marked as taken place: 409
performance_cancelled.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant