File size: 52,904 Bytes
da43f5e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 |
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="2258pt" height="1194pt"
viewBox="0.00 0.00 2257.50 1194.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 1158)">
<title>%3</title>
<polygon fill="white" stroke="transparent" points="-36,36 -36,-1158 2221.5,-1158 2221.5,36 -36,36"/>
<!-- Passenger -->
<g id="node1" class="node">
<title>Passenger</title>
<path fill="#e8e8e8" stroke="transparent" d="M931.5,-888C931.5,-888 1251.5,-888 1251.5,-888 1257.5,-888 1263.5,-894 1263.5,-900 1263.5,-900 1263.5,-1106 1263.5,-1106 1263.5,-1112 1257.5,-1118 1251.5,-1118 1251.5,-1118 931.5,-1118 931.5,-1118 925.5,-1118 919.5,-1112 919.5,-1106 919.5,-1106 919.5,-900 919.5,-900 919.5,-894 925.5,-888 931.5,-888"/>
<polygon fill="#bebebe" stroke="transparent" points="920.5,-1095 920.5,-1117 1262.5,-1117 1262.5,-1095 920.5,-1095"/>
<text text-anchor="start" x="1063.5" y="-1104.2" font-family="Arial" font-weight="bold" font-size="11.00">Passenger</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-1085 920.5,-1095 1262.5,-1095 1262.5,-1085 920.5,-1085"/>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-1063 920.5,-1085 1262.5,-1085 1262.5,-1063 920.5,-1063"/>
<text text-anchor="start" x="925.5" y="-1071.2" font-family="Arial" font-size="11.00">- passengerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-1041 920.5,-1063 1262.5,-1063 1262.5,-1041 920.5,-1041"/>
<text text-anchor="start" x="925.5" y="-1049.2" font-family="Arial" font-size="11.00">+ firstName : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-1019 920.5,-1041 1262.5,-1041 1262.5,-1019 920.5,-1019"/>
<text text-anchor="start" x="925.5" y="-1027.2" font-family="Arial" font-size="11.00">+ lastName : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-997 920.5,-1019 1262.5,-1019 1262.5,-997 920.5,-997"/>
<text text-anchor="start" x="925.5" y="-1005.2" font-family="Arial" font-size="11.00">+ passportNumber : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-975 920.5,-997 1262.5,-997 1262.5,-975 920.5,-975"/>
<text text-anchor="start" x="925.5" y="-983.2" font-family="Arial" font-size="11.00">+ email : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-965 920.5,-975 1262.5,-975 1262.5,-965 920.5,-965"/>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-955 920.5,-965 1262.5,-965 1262.5,-955 920.5,-955"/>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-933 920.5,-955 1262.5,-955 1262.5,-933 920.5,-933"/>
<text text-anchor="start" x="925.5" y="-941.2" font-family="Arial" font-size="11.00">+ Passenger(firstName: String, passportNumber: String) : Passenger</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-911 920.5,-933 1262.5,-933 1262.5,-911 920.5,-911"/>
<text text-anchor="start" x="925.5" y="-919.2" font-family="Arial" font-size="11.00">+ bookFlight(flightId: String) : Ticket</text>
<polygon fill="#e8e8e8" stroke="transparent" points="920.5,-889 920.5,-911 1262.5,-911 1262.5,-889 920.5,-889"/>
<text text-anchor="start" x="925.5" y="-897.2" font-family="Arial" font-size="11.00">+ checkIn(ticketId: String) : BoardingPass</text>
<polygon fill="black" stroke="black" points="919.5,-1095 919.5,-1095 1263.5,-1095 1263.5,-1095 919.5,-1095"/>
<polygon fill="black" stroke="black" points="919.5,-965 919.5,-965 1263.5,-965 1263.5,-965 919.5,-965"/>
<path fill="none" stroke="black" d="M931.5,-888C931.5,-888 1251.5,-888 1251.5,-888 1257.5,-888 1263.5,-894 1263.5,-900 1263.5,-900 1263.5,-1106 1263.5,-1106 1263.5,-1112 1257.5,-1118 1251.5,-1118 1251.5,-1118 931.5,-1118 931.5,-1118 925.5,-1118 919.5,-1112 919.5,-1106 919.5,-1106 919.5,-900 919.5,-900 919.5,-894 925.5,-888 931.5,-888"/>
</g>
<!-- Ticket -->
<g id="node2" class="node">
<title>Ticket</title>
<path fill="#e8e8e8" stroke="transparent" d="M973.5,-586C973.5,-586 1209.5,-586 1209.5,-586 1215.5,-586 1221.5,-592 1221.5,-598 1221.5,-598 1221.5,-782 1221.5,-782 1221.5,-788 1215.5,-794 1209.5,-794 1209.5,-794 973.5,-794 973.5,-794 967.5,-794 961.5,-788 961.5,-782 961.5,-782 961.5,-598 961.5,-598 961.5,-592 967.5,-586 973.5,-586"/>
<polygon fill="#bebebe" stroke="transparent" points="962.5,-771 962.5,-793 1220.5,-793 1220.5,-771 962.5,-771"/>
<text text-anchor="start" x="1075.5" y="-780.2" font-family="Arial" font-weight="bold" font-size="11.00">Ticket</text>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-761 962.5,-771 1220.5,-771 1220.5,-761 962.5,-761"/>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-739 962.5,-761 1220.5,-761 1220.5,-739 962.5,-739"/>
<text text-anchor="start" x="967.5" y="-747.2" font-family="Arial" font-size="11.00">- ticketId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-717 962.5,-739 1220.5,-739 1220.5,-717 962.5,-717"/>
<text text-anchor="start" x="967.5" y="-725.2" font-family="Arial" font-size="11.00">+ passengerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-695 962.5,-717 1220.5,-717 1220.5,-695 962.5,-695"/>
<text text-anchor="start" x="967.5" y="-703.2" font-family="Arial" font-size="11.00">+ flightId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-673 962.5,-695 1220.5,-695 1220.5,-673 962.5,-673"/>
<text text-anchor="start" x="967.5" y="-681.2" font-family="Arial" font-size="11.00">+ seatNumber : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-651 962.5,-673 1220.5,-673 1220.5,-651 962.5,-651"/>
<text text-anchor="start" x="967.5" y="-659.2" font-family="Arial" font-size="11.00">+ price : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-641 962.5,-651 1220.5,-651 1220.5,-641 962.5,-641"/>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-631 962.5,-641 1220.5,-641 1220.5,-631 962.5,-631"/>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-609 962.5,-631 1220.5,-631 1220.5,-609 962.5,-609"/>
<text text-anchor="start" x="967.5" y="-617.2" font-family="Arial" font-size="11.00">+ Ticket(passengerId: String, flightId: String) : Ticket</text>
<polygon fill="#e8e8e8" stroke="transparent" points="962.5,-587 962.5,-609 1220.5,-609 1220.5,-587 962.5,-587"/>
<text text-anchor="start" x="967.5" y="-595.2" font-family="Arial" font-size="11.00">+ cancel() : boolean</text>
<polygon fill="black" stroke="black" points="961.5,-771 961.5,-771 1221.5,-771 1221.5,-771 961.5,-771"/>
<polygon fill="black" stroke="black" points="961.5,-641 961.5,-641 1221.5,-641 1221.5,-641 961.5,-641"/>
<path fill="none" stroke="black" d="M973.5,-586C973.5,-586 1209.5,-586 1209.5,-586 1215.5,-586 1221.5,-592 1221.5,-598 1221.5,-598 1221.5,-782 1221.5,-782 1221.5,-788 1215.5,-794 1209.5,-794 1209.5,-794 973.5,-794 973.5,-794 967.5,-794 961.5,-788 961.5,-782 961.5,-782 961.5,-598 961.5,-598 961.5,-592 967.5,-586 973.5,-586"/>
</g>
<!-- Passenger->Ticket -->
<g id="edge1" class="edge">
<title>Passenger->Ticket</title>
<path fill="none" stroke="#4a4a4a" d="M1091.5,-883.78C1091.5,-883.78 1091.5,-808.11 1091.5,-808.11"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1095,-808.11 1091.5,-798.11 1088,-808.11 1095,-808.11"/>
<text text-anchor="middle" x="1089.5" y="-800.91" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1088.5" y="-876.58" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- CheckIn -->
<g id="node6" class="node">
<title>CheckIn</title>
<path fill="#e8e8e8" stroke="transparent" d="M389.5,-586C389.5,-586 577.5,-586 577.5,-586 583.5,-586 589.5,-592 589.5,-598 589.5,-598 589.5,-782 589.5,-782 589.5,-788 583.5,-794 577.5,-794 577.5,-794 389.5,-794 389.5,-794 383.5,-794 377.5,-788 377.5,-782 377.5,-782 377.5,-598 377.5,-598 377.5,-592 383.5,-586 389.5,-586"/>
<polygon fill="#bebebe" stroke="transparent" points="378.5,-771 378.5,-793 588.5,-793 588.5,-771 378.5,-771"/>
<text text-anchor="start" x="462" y="-780.2" font-family="Arial" font-weight="bold" font-size="11.00">CheckIn</text>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-761 378.5,-771 588.5,-771 588.5,-761 378.5,-761"/>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-739 378.5,-761 588.5,-761 588.5,-739 378.5,-739"/>
<text text-anchor="start" x="383.5" y="-747.2" font-family="Arial" font-size="11.00">- checkInId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-717 378.5,-739 588.5,-739 588.5,-717 378.5,-717"/>
<text text-anchor="start" x="383.5" y="-725.2" font-family="Arial" font-size="11.00">+ passengerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-695 378.5,-717 588.5,-717 588.5,-695 378.5,-695"/>
<text text-anchor="start" x="383.5" y="-703.2" font-family="Arial" font-size="11.00">+ ticketId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-673 378.5,-695 588.5,-695 588.5,-673 378.5,-673"/>
<text text-anchor="start" x="383.5" y="-681.2" font-family="Arial" font-size="11.00">+ checkInTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-651 378.5,-673 588.5,-673 588.5,-651 378.5,-651"/>
<text text-anchor="start" x="383.5" y="-659.2" font-family="Arial" font-size="11.00">+ baggageCount : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-641 378.5,-651 588.5,-651 588.5,-641 378.5,-641"/>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-631 378.5,-641 588.5,-641 588.5,-631 378.5,-631"/>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-609 378.5,-631 588.5,-631 588.5,-609 378.5,-609"/>
<text text-anchor="start" x="383.5" y="-617.2" font-family="Arial" font-size="11.00">+ CheckIn(passengerId: String) : CheckIn</text>
<polygon fill="#e8e8e8" stroke="transparent" points="378.5,-587 378.5,-609 588.5,-609 588.5,-587 378.5,-587"/>
<text text-anchor="start" x="383.5" y="-595.2" font-family="Arial" font-size="11.00">+ addBaggage(weight: double) : void</text>
<polygon fill="black" stroke="black" points="377.5,-771 377.5,-771 589.5,-771 589.5,-771 377.5,-771"/>
<polygon fill="black" stroke="black" points="377.5,-641 377.5,-641 589.5,-641 589.5,-641 377.5,-641"/>
<path fill="none" stroke="black" d="M389.5,-586C389.5,-586 577.5,-586 577.5,-586 583.5,-586 589.5,-592 589.5,-598 589.5,-598 589.5,-782 589.5,-782 589.5,-788 583.5,-794 577.5,-794 577.5,-794 389.5,-794 389.5,-794 383.5,-794 377.5,-788 377.5,-782 377.5,-782 377.5,-598 377.5,-598 377.5,-592 383.5,-586 389.5,-586"/>
</g>
<!-- Passenger->CheckIn -->
<g id="edge6" class="edge">
<title>Passenger->CheckIn</title>
<path fill="none" stroke="#4a4a4a" d="M932.5,-883.93C932.5,-836.07 932.5,-792 932.5,-792 932.5,-792 607.67,-792 607.67,-792"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="607.67,-788.5 597.67,-792 607.67,-795.5 607.67,-788.5"/>
<text text-anchor="middle" x="599.67" y="-794.8" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="929.5" y="-876.73" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Baggage -->
<g id="node9" class="node">
<title>Baggage</title>
<path fill="#e8e8e8" stroke="transparent" d="M20,-597C20,-597 291,-597 291,-597 297,-597 303,-603 303,-609 303,-609 303,-771 303,-771 303,-777 297,-783 291,-783 291,-783 20,-783 20,-783 14,-783 8,-777 8,-771 8,-771 8,-609 8,-609 8,-603 14,-597 20,-597"/>
<polygon fill="#bebebe" stroke="transparent" points="9.5,-760 9.5,-782 302.5,-782 302.5,-760 9.5,-760"/>
<text text-anchor="start" x="132.5" y="-769.2" font-family="Arial" font-weight="bold" font-size="11.00">Baggage</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-750 9.5,-760 302.5,-760 302.5,-750 9.5,-750"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-728 9.5,-750 302.5,-750 302.5,-728 9.5,-728"/>
<text text-anchor="start" x="14.5" y="-736.2" font-family="Arial" font-size="11.00">- baggageId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-706 9.5,-728 302.5,-728 302.5,-706 9.5,-706"/>
<text text-anchor="start" x="14.5" y="-714.2" font-family="Arial" font-size="11.00">+ passengerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-684 9.5,-706 302.5,-706 302.5,-684 9.5,-684"/>
<text text-anchor="start" x="14.5" y="-692.2" font-family="Arial" font-size="11.00">+ weight : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-662 9.5,-684 302.5,-684 302.5,-662 9.5,-662"/>
<text text-anchor="start" x="14.5" y="-670.2" font-family="Arial" font-size="11.00">+ status : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-652 9.5,-662 302.5,-662 302.5,-652 9.5,-652"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-642 9.5,-652 302.5,-652 302.5,-642 9.5,-642"/>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-620 9.5,-642 302.5,-642 302.5,-620 9.5,-620"/>
<text text-anchor="start" x="14.5" y="-628.2" font-family="Arial" font-size="11.00">+ Baggage(passengerId: String, weight: double) : Baggage</text>
<polygon fill="#e8e8e8" stroke="transparent" points="9.5,-598 9.5,-620 302.5,-620 302.5,-598 9.5,-598"/>
<text text-anchor="start" x="14.5" y="-606.2" font-family="Arial" font-size="11.00">+ track() : String</text>
<polygon fill="black" stroke="black" points="8.5,-760 8.5,-760 303.5,-760 303.5,-760 8.5,-760"/>
<polygon fill="black" stroke="black" points="8.5,-652 8.5,-652 303.5,-652 303.5,-652 8.5,-652"/>
<path fill="none" stroke="black" d="M20,-597C20,-597 291,-597 291,-597 297,-597 303,-603 303,-609 303,-609 303,-771 303,-771 303,-777 297,-783 291,-783 291,-783 20,-783 20,-783 14,-783 8,-777 8,-771 8,-771 8,-609 8,-609 8,-603 14,-597 20,-597"/>
</g>
<!-- Passenger->Baggage -->
<g id="edge9" class="edge">
<title>Passenger->Baggage</title>
<path fill="none" stroke="#4a4a4a" d="M911.15,-895C678.47,-895 303.25,-895 303.25,-895 303.25,-895 303.25,-797.1 303.25,-797.1"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="306.75,-797.1 303.25,-787.1 299.75,-797.1 306.75,-797.1"/>
<text text-anchor="middle" x="301.25" y="-789.9" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="908.15" y="-897.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- SecurityCheck -->
<g id="node11" class="node">
<title>SecurityCheck</title>
<path fill="#e8e8e8" stroke="transparent" d="M1897.5,-597C1897.5,-597 2145.5,-597 2145.5,-597 2151.5,-597 2157.5,-603 2157.5,-609 2157.5,-609 2157.5,-771 2157.5,-771 2157.5,-777 2151.5,-783 2145.5,-783 2145.5,-783 1897.5,-783 1897.5,-783 1891.5,-783 1885.5,-777 1885.5,-771 1885.5,-771 1885.5,-609 1885.5,-609 1885.5,-603 1891.5,-597 1897.5,-597"/>
<polygon fill="#bebebe" stroke="transparent" points="1886.5,-760 1886.5,-782 2156.5,-782 2156.5,-760 1886.5,-760"/>
<text text-anchor="start" x="1983" y="-769.2" font-family="Arial" font-weight="bold" font-size="11.00">SecurityCheck</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-750 1886.5,-760 2156.5,-760 2156.5,-750 1886.5,-750"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-728 1886.5,-750 2156.5,-750 2156.5,-728 1886.5,-728"/>
<text text-anchor="start" x="1891.5" y="-736.2" font-family="Arial" font-size="11.00">- checkId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-706 1886.5,-728 2156.5,-728 2156.5,-706 1886.5,-706"/>
<text text-anchor="start" x="1891.5" y="-714.2" font-family="Arial" font-size="11.00">+ passengerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-684 1886.5,-706 2156.5,-706 2156.5,-684 1886.5,-684"/>
<text text-anchor="start" x="1891.5" y="-692.2" font-family="Arial" font-size="11.00">+ checkTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-662 1886.5,-684 2156.5,-684 2156.5,-662 1886.5,-662"/>
<text text-anchor="start" x="1891.5" y="-670.2" font-family="Arial" font-size="11.00">+ passed : boolean</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-652 1886.5,-662 2156.5,-662 2156.5,-652 1886.5,-652"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-642 1886.5,-652 2156.5,-652 2156.5,-642 1886.5,-642"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-620 1886.5,-642 2156.5,-642 2156.5,-620 1886.5,-620"/>
<text text-anchor="start" x="1891.5" y="-628.2" font-family="Arial" font-size="11.00">+ SecurityCheck(passengerId: String) : SecurityCheck</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1886.5,-598 1886.5,-620 2156.5,-620 2156.5,-598 1886.5,-598"/>
<text text-anchor="start" x="1891.5" y="-606.2" font-family="Arial" font-size="11.00">+ scan() : boolean</text>
<polygon fill="black" stroke="black" points="1885.5,-760 1885.5,-760 2157.5,-760 2157.5,-760 1885.5,-760"/>
<polygon fill="black" stroke="black" points="1885.5,-652 1885.5,-652 2157.5,-652 2157.5,-652 1885.5,-652"/>
<path fill="none" stroke="black" d="M1897.5,-597C1897.5,-597 2145.5,-597 2145.5,-597 2151.5,-597 2157.5,-603 2157.5,-609 2157.5,-609 2157.5,-771 2157.5,-771 2157.5,-777 2151.5,-783 2145.5,-783 2145.5,-783 1897.5,-783 1897.5,-783 1891.5,-783 1885.5,-777 1885.5,-771 1885.5,-771 1885.5,-609 1885.5,-609 1885.5,-603 1891.5,-597 1897.5,-597"/>
</g>
<!-- Passenger->SecurityCheck -->
<g id="edge11" class="edge">
<title>Passenger->SecurityCheck</title>
<path fill="none" stroke="#4a4a4a" d="M1271.58,-895C1529.54,-895 1973.5,-895 1973.5,-895 1973.5,-895 1973.5,-797.1 1973.5,-797.1"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1977,-797.1 1973.5,-787.1 1970,-797.1 1977,-797.1"/>
<text text-anchor="middle" x="1971.5" y="-789.9" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1274.58" y="-897.8" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Purchase -->
<g id="node15" class="node">
<title>Purchase</title>
<path fill="#e8e8e8" stroke="transparent" d="M1307.5,-597C1307.5,-597 1507.5,-597 1507.5,-597 1513.5,-597 1519.5,-603 1519.5,-609 1519.5,-609 1519.5,-771 1519.5,-771 1519.5,-777 1513.5,-783 1507.5,-783 1507.5,-783 1307.5,-783 1307.5,-783 1301.5,-783 1295.5,-777 1295.5,-771 1295.5,-771 1295.5,-609 1295.5,-609 1295.5,-603 1301.5,-597 1307.5,-597"/>
<polygon fill="#bebebe" stroke="transparent" points="1296.5,-760 1296.5,-782 1518.5,-782 1518.5,-760 1296.5,-760"/>
<text text-anchor="start" x="1382.5" y="-769.2" font-family="Arial" font-weight="bold" font-size="11.00">Purchase</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-750 1296.5,-760 1518.5,-760 1518.5,-750 1296.5,-750"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-728 1296.5,-750 1518.5,-750 1518.5,-728 1296.5,-728"/>
<text text-anchor="start" x="1301.5" y="-736.2" font-family="Arial" font-size="11.00">- purchaseId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-706 1296.5,-728 1518.5,-728 1518.5,-706 1296.5,-706"/>
<text text-anchor="start" x="1301.5" y="-714.2" font-family="Arial" font-size="11.00">+ passengerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-684 1296.5,-706 1518.5,-706 1518.5,-684 1296.5,-684"/>
<text text-anchor="start" x="1301.5" y="-692.2" font-family="Arial" font-size="11.00">+ totalAmount : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-662 1296.5,-684 1518.5,-684 1518.5,-662 1296.5,-662"/>
<text text-anchor="start" x="1301.5" y="-670.2" font-family="Arial" font-size="11.00">+ purchaseTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-652 1296.5,-662 1518.5,-662 1518.5,-652 1296.5,-652"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-642 1296.5,-652 1518.5,-652 1518.5,-642 1296.5,-642"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-620 1296.5,-642 1518.5,-642 1518.5,-620 1296.5,-620"/>
<text text-anchor="start" x="1301.5" y="-628.2" font-family="Arial" font-size="11.00">+ Purchase(passengerId: String) : Purchase</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1296.5,-598 1296.5,-620 1518.5,-620 1518.5,-598 1296.5,-598"/>
<text text-anchor="start" x="1301.5" y="-606.2" font-family="Arial" font-size="11.00">+ addProduct(productId: String) : void</text>
<polygon fill="black" stroke="black" points="1295.5,-760 1295.5,-760 1519.5,-760 1519.5,-760 1295.5,-760"/>
<polygon fill="black" stroke="black" points="1295.5,-652 1295.5,-652 1519.5,-652 1519.5,-652 1295.5,-652"/>
<path fill="none" stroke="black" d="M1307.5,-597C1307.5,-597 1507.5,-597 1507.5,-597 1513.5,-597 1519.5,-603 1519.5,-609 1519.5,-609 1519.5,-771 1519.5,-771 1519.5,-777 1513.5,-783 1507.5,-783 1507.5,-783 1307.5,-783 1307.5,-783 1301.5,-783 1295.5,-777 1295.5,-771 1295.5,-771 1295.5,-609 1295.5,-609 1295.5,-603 1301.5,-597 1307.5,-597"/>
</g>
<!-- Passenger->Purchase -->
<g id="edge13" class="edge">
<title>Passenger->Purchase</title>
<path fill="none" stroke="#4a4a4a" d="M1250.5,-883.78C1250.5,-795.32 1250.5,-690 1250.5,-690 1250.5,-690 1277.31,-690 1277.31,-690"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1277.31,-693.5 1287.31,-690 1277.31,-686.5 1277.31,-693.5"/>
<text text-anchor="middle" x="1285.31" y="-692.8" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1247.5" y="-876.58" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Flight -->
<g id="node3" class="node">
<title>Flight</title>
<path fill="#e8e8e8" stroke="transparent" d="M884,-284C884,-284 1047,-284 1047,-284 1053,-284 1059,-290 1059,-296 1059,-296 1059,-480 1059,-480 1059,-486 1053,-492 1047,-492 1047,-492 884,-492 884,-492 878,-492 872,-486 872,-480 872,-480 872,-296 872,-296 872,-290 878,-284 884,-284"/>
<polygon fill="#bebebe" stroke="transparent" points="873.5,-469 873.5,-491 1058.5,-491 1058.5,-469 873.5,-469"/>
<text text-anchor="start" x="950.5" y="-478.2" font-family="Arial" font-weight="bold" font-size="11.00">Flight</text>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-459 873.5,-469 1058.5,-469 1058.5,-459 873.5,-459"/>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-437 873.5,-459 1058.5,-459 1058.5,-437 873.5,-437"/>
<text text-anchor="start" x="878.5" y="-445.2" font-family="Arial" font-size="11.00">- flightId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-415 873.5,-437 1058.5,-437 1058.5,-415 873.5,-415"/>
<text text-anchor="start" x="878.5" y="-423.2" font-family="Arial" font-size="11.00">+ flightNumber : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-393 873.5,-415 1058.5,-415 1058.5,-393 873.5,-393"/>
<text text-anchor="start" x="878.5" y="-401.2" font-family="Arial" font-size="11.00">+ origin : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-371 873.5,-393 1058.5,-393 1058.5,-371 873.5,-371"/>
<text text-anchor="start" x="878.5" y="-379.2" font-family="Arial" font-size="11.00">+ destination : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-349 873.5,-371 1058.5,-371 1058.5,-349 873.5,-349"/>
<text text-anchor="start" x="878.5" y="-357.2" font-family="Arial" font-size="11.00">+ departureTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-339 873.5,-349 1058.5,-349 1058.5,-339 873.5,-339"/>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-329 873.5,-339 1058.5,-339 1058.5,-329 873.5,-329"/>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-307 873.5,-329 1058.5,-329 1058.5,-307 873.5,-307"/>
<text text-anchor="start" x="878.5" y="-315.2" font-family="Arial" font-size="11.00">+ Flight(flightNumber: String) : Flight</text>
<polygon fill="#e8e8e8" stroke="transparent" points="873.5,-285 873.5,-307 1058.5,-307 1058.5,-285 873.5,-285"/>
<text text-anchor="start" x="878.5" y="-293.2" font-family="Arial" font-size="11.00">+ updateStatus(status: String) : void</text>
<polygon fill="black" stroke="black" points="872.5,-469 872.5,-469 1059.5,-469 1059.5,-469 872.5,-469"/>
<polygon fill="black" stroke="black" points="872.5,-339 872.5,-339 1059.5,-339 1059.5,-339 872.5,-339"/>
<path fill="none" stroke="black" d="M884,-284C884,-284 1047,-284 1047,-284 1053,-284 1059,-290 1059,-296 1059,-296 1059,-480 1059,-480 1059,-486 1053,-492 1047,-492 1047,-492 884,-492 884,-492 878,-492 872,-486 872,-480 872,-480 872,-296 872,-296 872,-290 878,-284 884,-284"/>
</g>
<!-- Ticket->Flight -->
<g id="edge2" class="edge">
<title>Ticket->Flight</title>
<path fill="none" stroke="#4a4a4a" d="M1010.25,-581.82C1010.25,-581.82 1010.25,-506.18 1010.25,-506.18"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1013.75,-506.18 1010.25,-496.18 1006.75,-506.18 1013.75,-506.18"/>
<text text-anchor="middle" x="1007.25" y="-498.98" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="1008.25" y="-574.62" font-family="Arial" font-size="9.00">*</text>
</g>
<!-- Aircraft -->
<g id="node4" class="node">
<title>Aircraft</title>
<path fill="#e8e8e8" stroke="transparent" d="M797.5,-4C797.5,-4 943.5,-4 943.5,-4 949.5,-4 955.5,-10 955.5,-16 955.5,-16 955.5,-178 955.5,-178 955.5,-184 949.5,-190 943.5,-190 943.5,-190 797.5,-190 797.5,-190 791.5,-190 785.5,-184 785.5,-178 785.5,-178 785.5,-16 785.5,-16 785.5,-10 791.5,-4 797.5,-4"/>
<polygon fill="#bebebe" stroke="transparent" points="786.5,-167 786.5,-189 954.5,-189 954.5,-167 786.5,-167"/>
<text text-anchor="start" x="850.5" y="-176.2" font-family="Arial" font-weight="bold" font-size="11.00">Aircraft</text>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-157 786.5,-167 954.5,-167 954.5,-157 786.5,-157"/>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-135 786.5,-157 954.5,-157 954.5,-135 786.5,-135"/>
<text text-anchor="start" x="791.5" y="-143.2" font-family="Arial" font-size="11.00">- aircraftId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-113 786.5,-135 954.5,-135 954.5,-113 786.5,-113"/>
<text text-anchor="start" x="791.5" y="-121.2" font-family="Arial" font-size="11.00">+ model : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-91 786.5,-113 954.5,-113 954.5,-91 786.5,-91"/>
<text text-anchor="start" x="791.5" y="-99.2" font-family="Arial" font-size="11.00">+ capacity : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-69 786.5,-91 954.5,-91 954.5,-69 786.5,-69"/>
<text text-anchor="start" x="791.5" y="-77.2" font-family="Arial" font-size="11.00">+ registrationNumber : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-59 786.5,-69 954.5,-69 954.5,-59 786.5,-59"/>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-49 786.5,-59 954.5,-59 954.5,-49 786.5,-49"/>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-27 786.5,-49 954.5,-49 954.5,-27 786.5,-27"/>
<text text-anchor="start" x="791.5" y="-35.2" font-family="Arial" font-size="11.00">+ Aircraft(model: String) : Aircraft</text>
<polygon fill="#e8e8e8" stroke="transparent" points="786.5,-5 786.5,-27 954.5,-27 954.5,-5 786.5,-5"/>
<text text-anchor="start" x="791.5" y="-13.2" font-family="Arial" font-size="11.00">+ scheduleMaintenance() : void</text>
<polygon fill="black" stroke="black" points="785.5,-167 785.5,-167 955.5,-167 955.5,-167 785.5,-167"/>
<polygon fill="black" stroke="black" points="785.5,-59 785.5,-59 955.5,-59 955.5,-59 785.5,-59"/>
<path fill="none" stroke="black" d="M797.5,-4C797.5,-4 943.5,-4 943.5,-4 949.5,-4 955.5,-10 955.5,-16 955.5,-16 955.5,-178 955.5,-178 955.5,-184 949.5,-190 943.5,-190 943.5,-190 797.5,-190 797.5,-190 791.5,-190 785.5,-184 785.5,-178 785.5,-178 785.5,-16 785.5,-16 785.5,-10 791.5,-4 797.5,-4"/>
</g>
<!-- Flight->Aircraft -->
<g id="edge3" class="edge">
<title>Flight->Aircraft</title>
<path fill="none" stroke="#4a4a4a" d="M913.75,-279.64C913.75,-279.64 913.75,-204.41 913.75,-204.41"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="917.25,-204.41 913.75,-194.41 910.25,-204.41 917.25,-204.41"/>
<text text-anchor="middle" x="910.75" y="-197.21" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="911.75" y="-272.44" font-family="Arial" font-size="9.00">*</text>
</g>
<!-- Airline -->
<g id="node5" class="node">
<title>Airline</title>
<path fill="#e8e8e8" stroke="transparent" d="M676,-597C676,-597 875,-597 875,-597 881,-597 887,-603 887,-609 887,-609 887,-771 887,-771 887,-777 881,-783 875,-783 875,-783 676,-783 676,-783 670,-783 664,-777 664,-771 664,-771 664,-609 664,-609 664,-603 670,-597 676,-597"/>
<polygon fill="#bebebe" stroke="transparent" points="665.5,-760 665.5,-782 886.5,-782 886.5,-760 665.5,-760"/>
<text text-anchor="start" x="758.5" y="-769.2" font-family="Arial" font-weight="bold" font-size="11.00">Airline</text>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-750 665.5,-760 886.5,-760 886.5,-750 665.5,-750"/>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-728 665.5,-750 886.5,-750 886.5,-728 665.5,-728"/>
<text text-anchor="start" x="670.5" y="-736.2" font-family="Arial" font-size="11.00">- airlineId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-706 665.5,-728 886.5,-728 886.5,-706 665.5,-706"/>
<text text-anchor="start" x="670.5" y="-714.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-684 665.5,-706 886.5,-706 886.5,-684 665.5,-684"/>
<text text-anchor="start" x="670.5" y="-692.2" font-family="Arial" font-size="11.00">+ code : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-662 665.5,-684 886.5,-684 886.5,-662 665.5,-662"/>
<text text-anchor="start" x="670.5" y="-670.2" font-family="Arial" font-size="11.00">+ headquarters : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-652 665.5,-662 886.5,-662 886.5,-652 665.5,-652"/>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-642 665.5,-652 886.5,-652 886.5,-642 665.5,-642"/>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-620 665.5,-642 886.5,-642 886.5,-620 665.5,-620"/>
<text text-anchor="start" x="670.5" y="-628.2" font-family="Arial" font-size="11.00">+ Airline(name: String, code: String) : Airline</text>
<polygon fill="#e8e8e8" stroke="transparent" points="665.5,-598 665.5,-620 886.5,-620 886.5,-598 665.5,-598"/>
<text text-anchor="start" x="670.5" y="-606.2" font-family="Arial" font-size="11.00">+ addFlight(flight: Flight) : void</text>
<polygon fill="black" stroke="black" points="664.5,-760 664.5,-760 887.5,-760 887.5,-760 664.5,-760"/>
<polygon fill="black" stroke="black" points="664.5,-652 664.5,-652 887.5,-652 887.5,-652 664.5,-652"/>
<path fill="none" stroke="black" d="M676,-597C676,-597 875,-597 875,-597 881,-597 887,-603 887,-609 887,-609 887,-771 887,-771 887,-777 881,-783 875,-783 875,-783 676,-783 676,-783 670,-783 664,-777 664,-771 664,-771 664,-609 664,-609 664,-603 670,-597 676,-597"/>
</g>
<!-- Airline->Flight -->
<g id="edge4" class="edge">
<title>Airline->Flight</title>
<path fill="none" stroke="#4a4a4a" d="M879.5,-580.78C879.5,-580.78 879.5,-506.03 879.5,-506.03"/>
<polygon fill="none" stroke="#4a4a4a" points="879.5,-508.03 875.5,-502.03 879.5,-496.03 883.5,-502.03 879.5,-508.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="876,-582.78 879.5,-592.78 883,-582.78 876,-582.78"/>
<text text-anchor="middle" x="877.5" y="-585.58" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="876.5" y="-498.83" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Airline->Aircraft -->
<g id="edge5" class="edge">
<title>Airline->Aircraft</title>
<path fill="none" stroke="#4a4a4a" d="M820.75,-580.74C820.75,-580.74 820.75,-204.31 820.75,-204.31"/>
<polygon fill="none" stroke="#4a4a4a" points="820.75,-206.31 816.75,-200.31 820.75,-194.31 824.75,-200.31 820.75,-206.31"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="817.25,-582.74 820.75,-592.74 824.25,-582.74 817.25,-582.74"/>
<text text-anchor="middle" x="818.75" y="-585.54" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="817.75" y="-197.11" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- BoardingPass -->
<g id="node7" class="node">
<title>BoardingPass</title>
<path fill="#e8e8e8" stroke="transparent" d="M361.5,-295C361.5,-295 605.5,-295 605.5,-295 611.5,-295 617.5,-301 617.5,-307 617.5,-307 617.5,-469 617.5,-469 617.5,-475 611.5,-481 605.5,-481 605.5,-481 361.5,-481 361.5,-481 355.5,-481 349.5,-475 349.5,-469 349.5,-469 349.5,-307 349.5,-307 349.5,-301 355.5,-295 361.5,-295"/>
<polygon fill="#bebebe" stroke="transparent" points="350.5,-458 350.5,-480 616.5,-480 616.5,-458 350.5,-458"/>
<text text-anchor="start" x="446" y="-467.2" font-family="Arial" font-weight="bold" font-size="11.00">BoardingPass</text>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-448 350.5,-458 616.5,-458 616.5,-448 350.5,-448"/>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-426 350.5,-448 616.5,-448 616.5,-426 350.5,-426"/>
<text text-anchor="start" x="355.5" y="-434.2" font-family="Arial" font-size="11.00">- boardingPassId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-404 350.5,-426 616.5,-426 616.5,-404 350.5,-404"/>
<text text-anchor="start" x="355.5" y="-412.2" font-family="Arial" font-size="11.00">+ passengerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-382 350.5,-404 616.5,-404 616.5,-382 350.5,-382"/>
<text text-anchor="start" x="355.5" y="-390.2" font-family="Arial" font-size="11.00">+ gate : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-360 350.5,-382 616.5,-382 616.5,-360 350.5,-360"/>
<text text-anchor="start" x="355.5" y="-368.2" font-family="Arial" font-size="11.00">+ boardingTime : Date</text>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-350 350.5,-360 616.5,-360 616.5,-350 350.5,-350"/>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-340 350.5,-350 616.5,-350 616.5,-340 350.5,-340"/>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-318 350.5,-340 616.5,-340 616.5,-318 350.5,-318"/>
<text text-anchor="start" x="355.5" y="-326.2" font-family="Arial" font-size="11.00">+ BoardingPass(passengerId: String) : BoardingPass</text>
<polygon fill="#e8e8e8" stroke="transparent" points="350.5,-296 350.5,-318 616.5,-318 616.5,-296 350.5,-296"/>
<text text-anchor="start" x="355.5" y="-304.2" font-family="Arial" font-size="11.00">+ updateGate(newGate: String) : void</text>
<polygon fill="black" stroke="black" points="349.5,-458 349.5,-458 617.5,-458 617.5,-458 349.5,-458"/>
<polygon fill="black" stroke="black" points="349.5,-350 349.5,-350 617.5,-350 617.5,-350 349.5,-350"/>
<path fill="none" stroke="black" d="M361.5,-295C361.5,-295 605.5,-295 605.5,-295 611.5,-295 617.5,-301 617.5,-307 617.5,-307 617.5,-469 617.5,-469 617.5,-475 611.5,-481 605.5,-481 605.5,-481 361.5,-481 361.5,-481 355.5,-481 349.5,-475 349.5,-469 349.5,-469 349.5,-307 349.5,-307 349.5,-301 355.5,-295 361.5,-295"/>
</g>
<!-- CheckIn->BoardingPass -->
<g id="edge7" class="edge">
<title>CheckIn->BoardingPass</title>
<path fill="none" stroke="#4a4a4a" d="M483.5,-581.82C483.5,-581.82 483.5,-495.38 483.5,-495.38"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="487,-495.38 483.5,-485.38 480,-495.38 487,-495.38"/>
<text text-anchor="middle" x="480.5" y="-488.18" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="480.5" y="-574.62" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Gate -->
<g id="node8" class="node">
<title>Gate</title>
<path fill="#e8e8e8" stroke="transparent" d="M405,-4C405,-4 562,-4 562,-4 568,-4 574,-10 574,-16 574,-16 574,-178 574,-178 574,-184 568,-190 562,-190 562,-190 405,-190 405,-190 399,-190 393,-184 393,-178 393,-178 393,-16 393,-16 393,-10 399,-4 405,-4"/>
<polygon fill="#bebebe" stroke="transparent" points="394.5,-167 394.5,-189 573.5,-189 573.5,-167 394.5,-167"/>
<text text-anchor="start" x="471.5" y="-176.2" font-family="Arial" font-weight="bold" font-size="11.00">Gate</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-157 394.5,-167 573.5,-167 573.5,-157 394.5,-157"/>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-135 394.5,-157 573.5,-157 573.5,-135 394.5,-135"/>
<text text-anchor="start" x="399.5" y="-143.2" font-family="Arial" font-size="11.00">- gateId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-113 394.5,-135 573.5,-135 573.5,-113 394.5,-113"/>
<text text-anchor="start" x="399.5" y="-121.2" font-family="Arial" font-size="11.00">+ gateNumber : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-91 394.5,-113 573.5,-113 573.5,-91 394.5,-91"/>
<text text-anchor="start" x="399.5" y="-99.2" font-family="Arial" font-size="11.00">+ terminal : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-69 394.5,-91 573.5,-91 573.5,-69 394.5,-69"/>
<text text-anchor="start" x="399.5" y="-77.2" font-family="Arial" font-size="11.00">+ isAvailable : boolean</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-59 394.5,-69 573.5,-69 573.5,-59 394.5,-59"/>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-49 394.5,-59 573.5,-59 573.5,-49 394.5,-49"/>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-27 394.5,-49 573.5,-49 573.5,-27 394.5,-27"/>
<text text-anchor="start" x="399.5" y="-35.2" font-family="Arial" font-size="11.00">+ Gate(gateNumber: String) : Gate</text>
<polygon fill="#e8e8e8" stroke="transparent" points="394.5,-5 394.5,-27 573.5,-27 573.5,-5 394.5,-5"/>
<text text-anchor="start" x="399.5" y="-13.2" font-family="Arial" font-size="11.00">+ assignFlight(flightId: String) : void</text>
<polygon fill="black" stroke="black" points="393.5,-167 393.5,-167 574.5,-167 574.5,-167 393.5,-167"/>
<polygon fill="black" stroke="black" points="393.5,-59 393.5,-59 574.5,-59 574.5,-59 393.5,-59"/>
<path fill="none" stroke="black" d="M405,-4C405,-4 562,-4 562,-4 568,-4 574,-10 574,-16 574,-16 574,-178 574,-178 574,-184 568,-190 562,-190 562,-190 405,-190 405,-190 399,-190 393,-184 393,-178 393,-178 393,-16 393,-16 393,-10 399,-4 405,-4"/>
</g>
<!-- BoardingPass->Gate -->
<g id="edge8" class="edge">
<title>BoardingPass->Gate</title>
<path fill="none" stroke="#4a4a4a" d="M483.5,-290.7C483.5,-290.7 483.5,-204.21 483.5,-204.21"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="487,-204.21 483.5,-194.21 480,-204.21 487,-204.21"/>
<text text-anchor="middle" x="480.5" y="-197.01" font-family="Arial" font-size="9.00">1</text>
<text text-anchor="middle" x="481.5" y="-283.5" font-family="Arial" font-size="9.00">*</text>
</g>
<!-- BaggageHandler -->
<g id="node10" class="node">
<title>BaggageHandler</title>
<path fill="#e8e8e8" stroke="transparent" d="M35.5,-910C35.5,-910 275.5,-910 275.5,-910 281.5,-910 287.5,-916 287.5,-922 287.5,-922 287.5,-1084 287.5,-1084 287.5,-1090 281.5,-1096 275.5,-1096 275.5,-1096 35.5,-1096 35.5,-1096 29.5,-1096 23.5,-1090 23.5,-1084 23.5,-1084 23.5,-922 23.5,-922 23.5,-916 29.5,-910 35.5,-910"/>
<polygon fill="#bebebe" stroke="transparent" points="24.5,-1073 24.5,-1095 286.5,-1095 286.5,-1073 24.5,-1073"/>
<text text-anchor="start" x="111.5" y="-1082.2" font-family="Arial" font-weight="bold" font-size="11.00">BaggageHandler</text>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-1063 24.5,-1073 286.5,-1073 286.5,-1063 24.5,-1063"/>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-1041 24.5,-1063 286.5,-1063 286.5,-1041 24.5,-1041"/>
<text text-anchor="start" x="29.5" y="-1049.2" font-family="Arial" font-size="11.00">- handlerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-1019 24.5,-1041 286.5,-1041 286.5,-1019 24.5,-1019"/>
<text text-anchor="start" x="29.5" y="-1027.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-997 24.5,-1019 286.5,-1019 286.5,-997 24.5,-997"/>
<text text-anchor="start" x="29.5" y="-1005.2" font-family="Arial" font-size="11.00">+ shift : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-975 24.5,-997 286.5,-997 286.5,-975 24.5,-975"/>
<text text-anchor="start" x="29.5" y="-983.2" font-family="Arial" font-size="11.00">+ terminal : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-965 24.5,-975 286.5,-975 286.5,-965 24.5,-965"/>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-955 24.5,-965 286.5,-965 286.5,-955 24.5,-955"/>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-933 24.5,-955 286.5,-955 286.5,-933 24.5,-933"/>
<text text-anchor="start" x="29.5" y="-941.2" font-family="Arial" font-size="11.00">+ BaggageHandler(name: String) : BaggageHandler</text>
<polygon fill="#e8e8e8" stroke="transparent" points="24.5,-911 24.5,-933 286.5,-933 286.5,-911 24.5,-911"/>
<text text-anchor="start" x="29.5" y="-919.2" font-family="Arial" font-size="11.00">+ processBaggage(baggageId: String) : void</text>
<polygon fill="black" stroke="black" points="23.5,-1073 23.5,-1073 287.5,-1073 287.5,-1073 23.5,-1073"/>
<polygon fill="black" stroke="black" points="23.5,-965 23.5,-965 287.5,-965 287.5,-965 23.5,-965"/>
<path fill="none" stroke="black" d="M35.5,-910C35.5,-910 275.5,-910 275.5,-910 281.5,-910 287.5,-916 287.5,-922 287.5,-922 287.5,-1084 287.5,-1084 287.5,-1090 281.5,-1096 275.5,-1096 275.5,-1096 35.5,-1096 35.5,-1096 29.5,-1096 23.5,-1090 23.5,-1084 23.5,-1084 23.5,-922 23.5,-922 23.5,-916 29.5,-910 35.5,-910"/>
</g>
<!-- BaggageHandler->Baggage -->
<g id="edge10" class="edge">
<title>BaggageHandler->Baggage</title>
<path fill="none" stroke="#4a4a4a" d="M155.5,-905.68C155.5,-905.68 155.5,-797.26 155.5,-797.26"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="159,-797.26 155.5,-787.26 152,-797.26 159,-797.26"/>
<text text-anchor="middle" x="153.5" y="-790.06" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="152.5" y="-898.48" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- SecurityOfficer -->
<g id="node12" class="node">
<title>SecurityOfficer</title>
<path fill="#e8e8e8" stroke="transparent" d="M1877.5,-910C1877.5,-910 2165.5,-910 2165.5,-910 2171.5,-910 2177.5,-916 2177.5,-922 2177.5,-922 2177.5,-1084 2177.5,-1084 2177.5,-1090 2171.5,-1096 2165.5,-1096 2165.5,-1096 1877.5,-1096 1877.5,-1096 1871.5,-1096 1865.5,-1090 1865.5,-1084 1865.5,-1084 1865.5,-922 1865.5,-922 1865.5,-916 1871.5,-910 1877.5,-910"/>
<polygon fill="#bebebe" stroke="transparent" points="1866.5,-1073 1866.5,-1095 2176.5,-1095 2176.5,-1073 1866.5,-1073"/>
<text text-anchor="start" x="1982" y="-1082.2" font-family="Arial" font-weight="bold" font-size="11.00">SecurityOfficer</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-1063 1866.5,-1073 2176.5,-1073 2176.5,-1063 1866.5,-1063"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-1041 1866.5,-1063 2176.5,-1063 2176.5,-1041 1866.5,-1041"/>
<text text-anchor="start" x="1871.5" y="-1049.2" font-family="Arial" font-size="11.00">- officerId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-1019 1866.5,-1041 2176.5,-1041 2176.5,-1019 1866.5,-1019"/>
<text text-anchor="start" x="1871.5" y="-1027.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-997 1866.5,-1019 2176.5,-1019 2176.5,-997 1866.5,-997"/>
<text text-anchor="start" x="1871.5" y="-1005.2" font-family="Arial" font-size="11.00">+ badge : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-975 1866.5,-997 2176.5,-997 2176.5,-975 1866.5,-975"/>
<text text-anchor="start" x="1871.5" y="-983.2" font-family="Arial" font-size="11.00">+ clearanceLevel : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-965 1866.5,-975 2176.5,-975 2176.5,-965 1866.5,-965"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-955 1866.5,-965 2176.5,-965 2176.5,-955 1866.5,-955"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-933 1866.5,-955 2176.5,-955 2176.5,-933 1866.5,-933"/>
<text text-anchor="start" x="1871.5" y="-941.2" font-family="Arial" font-size="11.00">+ SecurityOfficer(name: String, badge: String) : SecurityOfficer</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1866.5,-911 1866.5,-933 2176.5,-933 2176.5,-911 1866.5,-911"/>
<text text-anchor="start" x="1871.5" y="-919.2" font-family="Arial" font-size="11.00">+ performCheck(passengerId: String) : SecurityCheck</text>
<polygon fill="black" stroke="black" points="1865.5,-1073 1865.5,-1073 2177.5,-1073 2177.5,-1073 1865.5,-1073"/>
<polygon fill="black" stroke="black" points="1865.5,-965 1865.5,-965 2177.5,-965 2177.5,-965 1865.5,-965"/>
<path fill="none" stroke="black" d="M1877.5,-910C1877.5,-910 2165.5,-910 2165.5,-910 2171.5,-910 2177.5,-916 2177.5,-922 2177.5,-922 2177.5,-1084 2177.5,-1084 2177.5,-1090 2171.5,-1096 2165.5,-1096 2165.5,-1096 1877.5,-1096 1877.5,-1096 1871.5,-1096 1865.5,-1090 1865.5,-1084 1865.5,-1084 1865.5,-922 1865.5,-922 1865.5,-916 1871.5,-910 1877.5,-910"/>
</g>
<!-- SecurityOfficer->SecurityCheck -->
<g id="edge12" class="edge">
<title>SecurityOfficer->SecurityCheck</title>
<path fill="none" stroke="#4a4a4a" d="M2069.5,-905.68C2069.5,-905.68 2069.5,-797.26 2069.5,-797.26"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="2073,-797.26 2069.5,-787.26 2066,-797.26 2073,-797.26"/>
<text text-anchor="middle" x="2067.5" y="-790.06" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="2066.5" y="-898.48" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Shop -->
<g id="node13" class="node">
<title>Shop</title>
<path fill="#e8e8e8" stroke="transparent" d="M1606,-597C1606,-597 1799,-597 1799,-597 1805,-597 1811,-603 1811,-609 1811,-609 1811,-771 1811,-771 1811,-777 1805,-783 1799,-783 1799,-783 1606,-783 1606,-783 1600,-783 1594,-777 1594,-771 1594,-771 1594,-609 1594,-609 1594,-603 1600,-597 1606,-597"/>
<polygon fill="#bebebe" stroke="transparent" points="1595.5,-760 1595.5,-782 1810.5,-782 1810.5,-760 1595.5,-760"/>
<text text-anchor="start" x="1689" y="-769.2" font-family="Arial" font-weight="bold" font-size="11.00">Shop</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-750 1595.5,-760 1810.5,-760 1810.5,-750 1595.5,-750"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-728 1595.5,-750 1810.5,-750 1810.5,-728 1595.5,-728"/>
<text text-anchor="start" x="1600.5" y="-736.2" font-family="Arial" font-size="11.00">- shopId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-706 1595.5,-728 1810.5,-728 1810.5,-706 1595.5,-706"/>
<text text-anchor="start" x="1600.5" y="-714.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-684 1595.5,-706 1810.5,-706 1810.5,-684 1595.5,-684"/>
<text text-anchor="start" x="1600.5" y="-692.2" font-family="Arial" font-size="11.00">+ location : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-662 1595.5,-684 1810.5,-684 1810.5,-662 1595.5,-662"/>
<text text-anchor="start" x="1600.5" y="-670.2" font-family="Arial" font-size="11.00">+ category : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-652 1595.5,-662 1810.5,-662 1810.5,-652 1595.5,-652"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-642 1595.5,-652 1810.5,-652 1810.5,-642 1595.5,-642"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-620 1595.5,-642 1810.5,-642 1810.5,-620 1595.5,-620"/>
<text text-anchor="start" x="1600.5" y="-628.2" font-family="Arial" font-size="11.00">+ Shop(name: String) : Shop</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1595.5,-598 1595.5,-620 1810.5,-620 1810.5,-598 1595.5,-598"/>
<text text-anchor="start" x="1600.5" y="-606.2" font-family="Arial" font-size="11.00">+ sellProduct(productId: String) : Purchase</text>
<polygon fill="black" stroke="black" points="1594.5,-760 1594.5,-760 1811.5,-760 1811.5,-760 1594.5,-760"/>
<polygon fill="black" stroke="black" points="1594.5,-652 1594.5,-652 1811.5,-652 1811.5,-652 1594.5,-652"/>
<path fill="none" stroke="black" d="M1606,-597C1606,-597 1799,-597 1799,-597 1805,-597 1811,-603 1811,-609 1811,-609 1811,-771 1811,-771 1811,-777 1805,-783 1799,-783 1799,-783 1606,-783 1606,-783 1600,-783 1594,-777 1594,-771 1594,-771 1594,-609 1594,-609 1594,-603 1600,-597 1606,-597"/>
</g>
<!-- Product -->
<g id="node14" class="node">
<title>Product</title>
<path fill="#e8e8e8" stroke="transparent" d="M1445,-295C1445,-295 1664,-295 1664,-295 1670,-295 1676,-301 1676,-307 1676,-307 1676,-469 1676,-469 1676,-475 1670,-481 1664,-481 1664,-481 1445,-481 1445,-481 1439,-481 1433,-475 1433,-469 1433,-469 1433,-307 1433,-307 1433,-301 1439,-295 1445,-295"/>
<polygon fill="#bebebe" stroke="transparent" points="1434.5,-458 1434.5,-480 1675.5,-480 1675.5,-458 1434.5,-458"/>
<text text-anchor="start" x="1533.5" y="-467.2" font-family="Arial" font-weight="bold" font-size="11.00">Product</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-448 1434.5,-458 1675.5,-458 1675.5,-448 1434.5,-448"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-426 1434.5,-448 1675.5,-448 1675.5,-426 1434.5,-426"/>
<text text-anchor="start" x="1439.5" y="-434.2" font-family="Arial" font-size="11.00">- productId : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-404 1434.5,-426 1675.5,-426 1675.5,-404 1434.5,-404"/>
<text text-anchor="start" x="1439.5" y="-412.2" font-family="Arial" font-size="11.00">+ name : String</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-382 1434.5,-404 1675.5,-404 1675.5,-382 1434.5,-382"/>
<text text-anchor="start" x="1439.5" y="-390.2" font-family="Arial" font-size="11.00">+ price : double</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-360 1434.5,-382 1675.5,-382 1675.5,-360 1434.5,-360"/>
<text text-anchor="start" x="1439.5" y="-368.2" font-family="Arial" font-size="11.00">+ stock : int</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-350 1434.5,-360 1675.5,-360 1675.5,-350 1434.5,-350"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-340 1434.5,-350 1675.5,-350 1675.5,-340 1434.5,-340"/>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-318 1434.5,-340 1675.5,-340 1675.5,-318 1434.5,-318"/>
<text text-anchor="start" x="1439.5" y="-326.2" font-family="Arial" font-size="11.00">+ Product(name: String, price: double) : Product</text>
<polygon fill="#e8e8e8" stroke="transparent" points="1434.5,-296 1434.5,-318 1675.5,-318 1675.5,-296 1434.5,-296"/>
<text text-anchor="start" x="1439.5" y="-304.2" font-family="Arial" font-size="11.00">+ updateStock(quantity: int) : void</text>
<polygon fill="black" stroke="black" points="1433.5,-458 1433.5,-458 1676.5,-458 1676.5,-458 1433.5,-458"/>
<polygon fill="black" stroke="black" points="1433.5,-350 1433.5,-350 1676.5,-350 1676.5,-350 1433.5,-350"/>
<path fill="none" stroke="black" d="M1445,-295C1445,-295 1664,-295 1664,-295 1670,-295 1676,-301 1676,-307 1676,-307 1676,-469 1676,-469 1676,-475 1670,-481 1664,-481 1664,-481 1445,-481 1445,-481 1439,-481 1433,-475 1433,-469 1433,-469 1433,-307 1433,-307 1433,-301 1439,-295 1445,-295"/>
</g>
<!-- Shop->Product -->
<g id="edge14" class="edge">
<title>Shop->Product</title>
<path fill="none" stroke="#4a4a4a" d="M1635,-580.78C1635,-580.78 1635,-495.03 1635,-495.03"/>
<polygon fill="none" stroke="#4a4a4a" points="1635,-497.03 1631,-491.03 1635,-485.03 1639,-491.03 1635,-497.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1631.5,-582.78 1635,-592.78 1638.5,-582.78 1631.5,-582.78"/>
<text text-anchor="middle" x="1633" y="-585.58" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1632" y="-487.83" font-family="Arial" font-size="9.00">1</text>
</g>
<!-- Purchase->Product -->
<g id="edge15" class="edge">
<title>Purchase->Product</title>
<path fill="none" stroke="#4a4a4a" d="M1476.25,-592.78C1476.25,-592.78 1476.25,-495.03 1476.25,-495.03"/>
<polygon fill="#4a4a4a" stroke="#4a4a4a" points="1479.75,-495.03 1476.25,-485.03 1472.75,-495.03 1479.75,-495.03"/>
<text text-anchor="middle" x="1474.25" y="-487.83" font-family="Arial" font-size="9.00">*</text>
<text text-anchor="middle" x="1474.25" y="-585.58" font-family="Arial" font-size="9.00">*</text>
</g>
</g>
</svg>
|