Hello and Happy New Year!
For our ADA compliance, our box office would like to move away from Seat Type and use Hold Codes instead. A wheelchair or its companion would have a type of "Regular" but it would also be assigned a hold code that more or less matches the type description. We also allow breakable holds on our site.
We have set hold codes on wheelchair seats and their companion seats and I'd like to be able to read those assigned hold codes via the API. So far, the only method I see that returns that value is "GetSeatsBriefEx" and its at the end of a comma-delimited string array. But I did read on another topic that once a seat is assigned a hold code, a record is written to the table "TX_PERF_HC". My thought was that we could write a local stored procedure that passes in parameters to query for the existence of a seat record that matches that in the users cart.
The idea is that if the user selects a WC seat, we will present a modal window that asks the user to attest they actually need the seat and give them the option to continue or empty their cart. In addition when they select a companion seat without selecting a WC seat, we will gracefully let them know they can't do that, empty their cart and send them back to select a different seat.
Between the two methods, "GetSeatsBriefEx" or "ExecuteLocalProcedure", which one would be the preferred/suggested method to do this? Or is there another preferred method I'm unaware of?
Are there any other clients that also need to read hold codes on the web? If so, whats your approach?
For the sake of maintainability, I would recommend using built-in API methods instead of custom stored procedures. Built-in methods will be better supported and documented.
Also, in the case of GetSeatsBriefEx, you may find that other information it returns is useful, particularly for display on a constituent-facing SYOS map. For example, seat_status can indicate whether the seat is available or in the cart or unavailable, and the seat num. and row num. may be useful for constituents who remember their preferred seat. Beyond your "wheelchair" hold code, other hold codes can represent other scenarios, such as having separate hold codes for companion seats, easy-transfer seats, and removed/blacked-out seats.
Note that GetSeatsBriefEx returns data about all seats, not just seats reserved in the cart. I may misunderstand your workflow, but I'm confused when you mention emptying the cart. It seems you may be reserving seats prematurely. You can display your "are you sure" modal before adding the seat to the cart, so no cart-clearing is necessary.
By the way, I've been modifying my organization's seat-selection web app, and I found one caveat for allowing the site to break hold codes: Once the seat is reserved in a cart and its hold code is broken, the API no longer reports the original hold code, so if you want the cart to indicate that a particular seat had a particular quality, such as wheelchair or companion, your application must remember this on its own.
Finally, I believe that Tessitura's best-seating algorithm relies on seat-type to locate wheelchair seats. I don't know of a supported way to customize this, but I'd be curious what others say on the matter.
Oh boy. We just went through this and it took us a while to get it set up. Especially since the ADA now requires 3 companions to each wheelchair. We use the GetSeats and GetPerformanceDetailWithDiscountingSYOSDataSet methods. We have hold codes of Handicap, then use seat types for removable, companion, etc. We tie the companions to a specific wheelchair and if there is an orphan seat it makes it unavailable so the box office can manually handle those situations. We send a CSI each time a wheelchair is reserved. GetSeats does return the hold code but it isn’t shown in the API doc. You can view our SYOS functionality here: http://www.flynntix.org/flynn-mainstage/vso-masterworks/SelectSeats?perfNo=10195&perfCodePrefix=VSC143.
Hope that helps.
Gloria
From: Tessitura Web Forum [mailto:forums-tessitura-web@tessituranetwork.com] On Behalf Of Gordon Taylor Sent: Tuesday, January 14, 2014 5:51 PM To: Gloria Ormsby Subject: [Tessitura Web Forum] Reading Hold Codes
For our ADA compliance, our box office would like to move away from Seat Type and use Hold Codes instead. A wheelchair or its companion would have a type of "Regular" but a hold code that more or less matches the type description. We also allow breakable holds on our site.
You were sent this email automatically because you subscribed to the Tessitura Web forum. You may reply to this message to post to the Web forum or visit the site to search, read and post to the forums. In the interest of keeping the forum posts from becoming cluttered, we encourage you to delete previous message text from your reply before sending. Thank you!
It's my understanding that seat_type (from TR_SEAT_CODE) is harder to change on the fly, and that it reflects an unchanging physical reality of the seat. For example, that the seat is removable to fit in a wheelchair, or that the seat has an obstructed view, or that the seat is actually just standing room.
Hold codes can be modified more flexibly, and so they are better for transient labeling. That a seat is "companion" is a transient property, because someone might reserve the associated wheelchair seat without requiring the companion seat, in which case the companion seat becomes a regular seat and can be un-held.