How to spawn player specific houses when player joins a session?

Hello guys! For my game I need to implement a basics of a house system. I am a software engineering student thats why i have good knowledge of coding but my question is regarding blueprint system. So i ll try to explain it really basic:
In the game there is a town which is defined by town level and a town game mode. Among various shops there are 16 reserved places for player houses. (Right now they are occupied with a simple box) Every instance of town is for maximum 16 players. And players have each their own houses. There are 4 types of houses from level 1 to level 4 that means there are 4 different 3D models for each of them. Lets say them A,B,C,D. I have almost really no experience with networking in unreal engine. What i want to do is lets say two players connects to an empty game session.(John und Adam) John connects first and his house which is type B spawns on one of the 16 places(random) and Johns character spawns inside the house. Next Adam enters the session and this time his house which is type C spawns on one of the 15 remaining places.(cant spawn on John’s house!). To make it easy lets assume we are not gonna randomize house spawn locations but its gonna be first come first serve for slots. That would mean 7th slot for 7th connecting player. What I find problematic with blueprints is how to create a spawn point for house meshes which the mesh will be different according to player’s house? And how to actually store these house values with blurprints. Actor pawn character kinda mixes my head.
If i was coding, I would create a House Class with variables for house types etc. Or simply inheritance with subclasses representing house types. And i would create a house object inside the player class and specific functions like get housetype set housetype etc. But Blueprints are all messing my mind.

You can do your usual coding approach in blueprints.

You can decide when where and what to spawn at a player start point. or any other location.

simply get the playerstart’s location and spawn the house at that location. or do a trace down to the ground from above it.