culturecreates / artsdata-planet-spektrix

0 stars 0 forks source link

Resolve Spektrix location (show stopper) #3

Closed saumier closed 1 month ago

saumier commented 2 months ago

In this preliminary report there is a show stopper regarding lack of locations for events. This issue was emailed to Spektrix requesting their help.

saumier commented 2 months ago

Received email from Spektrix that they will get back to me.

saumier commented 2 months ago

@dev-aravind Please resume work on adding locations to the events of the 3 Spektrix clients using the info in the email below.

Email from Theo Pacun at Spektrix:

Hi all,

Thanks for the detailed write up!

To answer your direct question, we store address information at a different endpoint - api/v3/venues. So for example, https://system.spektrix.com/gatewaytheatre/api/v3/venues. In Spektrix, each individual show or performance of an Event is called an Instance. The easiest way to then associate that venue data with a show/performance is by using the Event and Instance endpoints and then iterating through the seating plan of each Instance of an Event and cross referencing with the Venue IDs. There are some other ways you can get this info but I think the best thing to do is use the api/v3/instances/{{instanceID}}/plan endpoint such as: https://system.spektrix.com/gatewaytheatre/api/v3/instances/23201APGCMPGJNLTBJBBRLRLRBCKNMGMV/plan. If you need guidance on the best ways to pull Event & Instance information, I'm of course available to answer questions but I'd also recommend taking a look at this page on our Integrate Portal as well: https://integrate.spektrix.com/docs/apieventfiltering

In terms of the notes you've got on Attributes in that doc, you're correct in that not every system will have that information. Attributes as a system wide concept exist in all Spektrix systems but the creation & maintenance of specific Attributes is manual and will be solely in the hands of the operating organization. You can of course ask/require organizations to provide that info via attributes as a part of your setup (and it sounds like some of that will likely be either required or strongly encouraged which makes sense). However, I think it'd probably be best if you can stay away from hardcoding any Attribute names and allowing a way to input different names as it would certainly be possible for somebody to have the same info you need but in a different name such as "Performance Genre" instead of just "Genre".

One other thing I'll note on Attributes is that they're not just limited to Events - we have the same concept for each individual showing as well via Instance Attributes. I don't see anything in the doc you've sent over where it seems like the Instance Attributes would help or have info that you might need, but just thought I'd flag it to you as well just in case. For a quick overview of Attributes in general in the system, I'd refer you to our general Support Centre article on them which can be found here: https://support.spektrix.com/hc/en-us/articles/202188708-Introduction-to-Attributes

Lastly, thanks for the note on the empty HTML id in the API response - had never noticed that! I'll file a bug on it with our Product team but I would imagine it'll be a pretty low priority to handle so continuing with your plan to simply strip the

out makes sense.

Please let me know if anything I've written doesn't make sense or you've got further questions!

Best, Theo

dev-aravind commented 2 months ago

@saumier The locations are now added to spektrix.

saumier commented 2 months ago

@dev-aravind I can see that there is a Place entity for spektrix-terrabrucemajestic and spektrix-kaymeekcentre but neither Place entity address has a PostalAddress entity.

Example: The Bad Plus has a location Kay Meek Arts Centre which has as address with no PostalAddress.

Expected behaviour is for the PostalAddress to be of type schema:PostalAddress with properties schema:streetAddress, schema:postalCode, schema:addressLocality, schema:addressRegion, schema:addressCountry.

dev-aravind commented 2 months ago

@saumier The PostalAddress issue is now fixed in Artsdata. Please review this and let me know if there are any more changes needed.

saumier commented 2 months ago

@dev This is looking good. An additional improvement would be to add separate properties schema:streetAddress, schema:postalCode, schema:addressLocality, schema:addressRegion, schema:addressCountry. Is this possible from the Spektrix API? If not then I will need to add a post-import step in Artsdata that will split the streetAddress into the separate parts. Let me know and then I will close this issue.

dev-aravind commented 1 month ago

@saumier The address is now split into different properties. One of the addresses doesn't have a postalCode. Please review this and let me know if you need any changes.

saumier commented 1 month ago

@dev-aravind Looks good. The missing postal code can be added when the place is minted in Artsdata. So I will close this issue.