How to host a session before creating the level (and successfully use ServerTravel afterwards)?

Hi folkes.

I would like to make very simpel matchmaking system with only one buttonpress from the menu. It should first search for available games and if non is avaible it should host a session so other players can find it.
When a match is found, the ‘client’ should join the server session and then travel together to the multiplayer map.

The problem:
I have code working for the players joining eachothers session, but when make a server travel request, only the server will switch level.
I suspect this is because the client needs to have joined the servers map, not just session, before being able to travel. But since the sessions a create from the main menu, the server is not running a listen server yet.

Anyone has a good idea on how best to make a system like this work?

Currently we have it implemented mostly in c++. Also a side question is if there is a list somewhere of relevant events you can listen to like : PlayerHasJoinedYourSession .