@startuml PersonsAndHouses_scenario3_state1_010_event0302_004

<style>
    Shadowing false
    Rectangle {
        FontSize 18
        FontStyle bold
        HorizontalAlignment left
        LineThickness 0
        RoundCorner 20
    }
    Object {
        FontSize 20
        FontStyle normal
        HorizontalAlignment left
        LineColor white
        LineThickness 3
        RoundCorner 20
    }
    Arrow {
        LineThickness 3
    }
    Title {
        BackgroundColor white
        FontColor darkblue
        FontSize 20
        FontStyle normal
        HorizontalAlignment left
        LineColor darkblue
        LineThickness 2
        Margin 50
        Padding 20
    }
</style>

title \
<b>Sequence:</b> PersonsAndHouses\n\
<b>Scenario:</b> scenario3 - The second house is built, and Anton and Berta move from first house to second house, third floor.\n\
<b>Transition State:</b> state1 - The first transition state. Let's add some more text to force line breaks in diagrams.\n\n\
<b>Business Event:</b> event0302 - Anton and Berta move from first house to second house, third floor. (Step 004 of 004)\n\n\
Diagram 010 of 011

rectangle "The House Domain" as housedomain #DDDDDD {
    rectangle "Floor" as housedomain_floorclass #white {
        object "<color:black><b>floor0101</b></color>" as housedomain_floorclass_floor0101 #EEEEEE {
            <color:black>house_fk = "house01"</color>
            <color:black>name = "The First Floor"</color>
        }
        object "<color:black><b>floor0201</b></color>" as housedomain_floorclass_floor0201 #DDFFCC {
            <color:black>house_fk = "house02"</color>
            <color:black>name = "The First Floor"</color>
        }
        object "<color:black><b>floor0202</b></color>" as housedomain_floorclass_floor0202 #DDFFCC {
            <color:black>house_fk = "house02"</color>
            <color:black>name = "The Second Floor"</color>
        }
        object "<color:black><b>floor0203</b></color>" as housedomain_floorclass_floor0203 #DDFFCC {
            <color:black>house_fk = "house02"</color>
            <color:black>name = "The Third Floor"</color>
        }
        object "<color:black><b>floor0204</b></color>" as housedomain_floorclass_floor0204 #DDFFCC {
            <color:black>house_fk = "house02"</color>
            <color:black>name = "The Fourth Floor"</color>
        }
    }
    rectangle "House" as housedomain_houseclass #white {
        object "<color:black><b>house02</b></color>" as housedomain_houseclass_house02 #DDFFCC {
            <color:black>address = "Second Street 2"</color>
            <color:black>name = "The Second House"</color>
        }
    }
}
rectangle "The Person Domain" as persondomain #DDDDDD {
    rectangle "Person-to-Floor Relation" as persondomain_p2fclass #white {
        object "<color:black><b>p2f01</b></color>" as persondomain_p2fclass_p2f01 #FFE0E0 {
            <color:black>floor_fk = "floor0101"</color>
            <color:black>person_fk = "anton"</color>
            <color:black>type = "tenant"</color>
        }
        object "<color:black><b>p2f02</b></color>" as persondomain_p2fclass_p2f02 #FF7766 {
            <color:black>floor_fk = "floor0101"</color>
            <color:black>person_fk = "berta"</color>
            <color:black>type = "tenant"</color>
        }
        object "<color:black><b>p2f03</b></color>" as persondomain_p2fclass_p2f03 #DDFFCC {
            <color:black>floor_fk = "floor0203"</color>
            <color:black>person_fk = "anton"</color>
            <color:black>type = "tenant"</color>
        }
        object "<color:black><b>p2f04</b></color>" as persondomain_p2fclass_p2f04 #DDFFCC {
            <color:black>floor_fk = "floor0203"</color>
            <color:black>person_fk = "berta"</color>
            <color:black>type = "tenant"</color>
        }
    }
    rectangle "Person" as persondomain_personclass #white {
        object "<color:black><b>anton</b></color>" as persondomain_personclass_anton #EEEEEE {
            <color:black>age = "23"</color>
            <color:black>name = "Anton A"</color>
        }
        object "<color:black><b>berta</b></color>" as persondomain_personclass_berta #EEEEEE {
            <color:black>age = "34"</color>
            <color:black>name = "Berta B"</color>
        }
    }
}

housedomain_floorclass_floor0201 ----> housedomain_houseclass_house02 #555555
housedomain_floorclass_floor0202 ----> housedomain_houseclass_house02 #555555
housedomain_floorclass_floor0203 ----> housedomain_houseclass_house02 #555555
housedomain_floorclass_floor0204 ----> housedomain_houseclass_house02 #555555
persondomain_p2fclass_p2f01 ----> housedomain_floorclass_floor0101 #EEB3B3
persondomain_p2fclass_p2f01 ----> persondomain_personclass_anton #EEB3B3
persondomain_p2fclass_p2f02 ----> housedomain_floorclass_floor0101 #FF7766
persondomain_p2fclass_p2f02 ----> persondomain_personclass_berta #FF7766
persondomain_p2fclass_p2f03 ----> housedomain_floorclass_floor0203 #555555
persondomain_p2fclass_p2f03 ----> persondomain_personclass_anton #555555
persondomain_p2fclass_p2f04 ----> housedomain_floorclass_floor0203 #555555
persondomain_p2fclass_p2f04 ----> persondomain_personclass_berta #555555

@enduml
