So about the $page, it should be always available to you, just how the Page module route handling works.
I would store views that you mentioned purchasing of tickets, edit of ticket orders in the module itself separated by frontend/backend folders.
Layout and other website components shared across all website should go into Themes folder.
I feel like you are worrying too much about that Page module, the Page module will take care of incoming request and try to allocate appropriate master template for your page or in your case it will return default.blade.php(probably should be configurable) as master layout and include $page variable there. So you can just @extend('default') in your module view.
This CMS is not like many CMS'es that people are used to for example Drupal.
Currently it's more meant for developers that would like to create most of functionality from scratch having some solid groundwork laid down.
There are no limitations on what you can create with AsgardCMS.
By default, it always redirect you to the page you was when you performed login or to homepage.
For module approach you can generate new module something like php artisan asgard:module:scaffold name it somehow like Redirector.
From there you can look into Asgard modules how are they handling events.
Basically you have to list your listeners in ServiceProvider, point them to handlers.
Create folder in your module something like Events/Handlers or Handlers create your handler classes there.
Add this to your modules service provider: