I think the best way to store session data like this is in response session attributes.
When you create a response object, you put all the data you need into the 'sessionAttributes' object. If you use the SDK, it will probably have a function for this.
When you receive the next intention in the same Alexa session, it will have your data in the "session.attributes" event.
docs refer to your data as a "Key-value pairs map", but I find that you can put whatever you want there, as long as the top level is an object, not an array.
source share