Responding to RFP §3.4 and §4.0
How This Site Is Built
Tessitura connection: pending. The City’s Tessitura contract was still being finalized when RFP 2026-241 was issued, so there is no live system yet to connect to.
Every date and time on this site was read from the Wheeler’s own current website. Prices, availability and the on-sale state are never real, and every page that shows them says so at the point a real system would normally answer. What follows uses one real production record to show why the site is built this way.
The same show, listed twice
RFP §3.4 asks the winning vendor to “ensure no duplication of event records across systems.” On the Wheeler’s and Aspen Show Tix’s current sites, that duplication is not theoretical. It is counted below, using this build’s own catalogue and the same accessor every listing page on this site reads from.
48
Productions on sale in this build
22
Kept as two records today
64 events on both current sites
Across the full public catalogues captured for this build, 64 normalized event slugs appear on both sites.
Wheeler Opera House catalogue
52164 shared events, 12.3 percent of this catalogue
Aspen Show Tix catalogue
16164 shared events, 39.8 percent of this catalogue
Every one of those is a real production, still on sale, still carried as two separate WordPress records today: one on wheeleroperahouse.com, one on aspenshowtix.com.
The two copies also disagree. One pair, for the production titled Wheeler Presents EDDiE iFFT: The Last Chair Tour, carries a 171-character description on one site and a 1,575-character one on the other. Which page a patron lands on decides whether they get the show or a stub.
Stoa also found the same defect one layer deeper, inside a single record. The production titled Traffic Jams with Larry & Joe holds 8 performance rows on file for what the Wheeler’s own site describes as a 4-night run: every date was entered twice. aspen_dedupe_performances() removes the duplicate at the point every page reads from: 8 rows in the record become 4 performances on the page.
Why an importer cannot fix it
The bridge between the Wheeler’s WordPress site and its ticketing system today is a plugin named spektrix-event-importer. Importing copies event records into WordPress, which is the exact duplication RFP §3.4 asks to remove. A vendor who points that same pattern at Tessitura ships the same defect under a new name.
Stoa’s position: a read-through cache, never an importer.
WordPress stores an editorial record keyed to a production id and nothing else. Dates, prices and availability are fetched at the moment a page is built and are never written back into WordPress, so there is nothing to keep in sync and nothing that can drift.
The record inspector
This is the same production named above, the one that was two records with two different descriptions. Here is what it looks like joined, field by field, read live from this site’s own catalogue rather than typed out by hand.
Wheeler Presents EDDiE iFFT: The Last Chair Tour
The WordPress column is typed once by an editor. The Tessitura column is never typed at all: it is read again every time this page is built.
From WordPress
- Title
- Wheeler Presents EDDiE iFFT: The Last Chair Tour
- Description
- First chair gets the glory. Last chair gets the stories.
- Discipline
- Comedy
- Presenting organization
-
None. The record’s presenter field just repeats the venue’s own name, so
wheeler_presenter()treats it as redundant, and this build prints nothing rather than a repeated line. - Imagery
- A WordPress field. No image is attached to this production, so the card falls back to the fanlight mark rather than reserving an empty frame.
From Tessitura
- Performance
- December 12, 2026, 5:00 PM
- Price
- Not available. No production in this catalogue carries a price.
- Seat availability
- Not connected. This production’s seat map models availability for this demonstration; it is not read from a live system.
- On-sale state
- Inferred, not read: this production has a future date on the Wheeler’s current site, so this build treats it as on sale.
- Tessitura production ID
- Not assigned. This page is not connected to a live ticketing system.
- Listed today on
- wheeleroperahouse.com and aspenshowtix.com, kept as 2 separate records today, joined into one here.
What a vendor controls inside Tessitura Ecommerce
RFP §3.3 names the checkout product “Tessitura Ecommerce, formerly TNEW.” Stoa could not confirm that rename anywhere in Tessitura’s own current materials, which still describe the product as TN Express Web. This page uses the RFP’s name; the rename itself is the RFP’s claim, not one Stoa independently verified.
Inside that product, a vendor controls two things: CSS layered after Tessitura’s own stylesheet, and custom header and footer HTML around it. The checkout markup itself is fixed, Bootstrap classes included. Expect a restyle of a Bootstrap checkout shell, colour, type and spacing, not a bespoke checkout interface.
RFP §4.0 explicitly invites vendors to name constraints like this rather than promise around them, so this is a direct answer, not a hedge.
The RFP also asks the vendor to host and maintain the template in test and production. Stoa reads that as the visual template living on vendor-controlled hosting while the transaction itself stays on Tessitura’s own infrastructure. That split is Stoa’s reading of the RFP text, not a confirmed Tessitura architecture fact.
This handoff already has its own three-layer diagram, on this production’s tickets page. It is linked below rather than redrawn here.
Two brands, one system
Tessitura’s own consortium documentation states that each organization sharing one system keeps its own branding and its own data access. That is what would let the Wheeler and Aspen Show Tix share one production record without becoming one website.
Aspen Show Tix already sells tickets for venues beyond the Wheeler. See how it presents the same catalogue.