@startuml

hide circle
skinparam linetype ortho

entity "Cliente" as cli {
	*dni : string
	--
	nombre : string
	dirección : string
	apellidos : string
	teléfono : string
}

entity "Tarjeta de Embarque" as tde {
}

entity "Vuelo" as vlo {
	*código : string
	--
	fecha : date
	hora salida : date
	hora llegada : date
}

entity "Avión" as avn {
	*código : string
	--
	número de plazas : number
}

entity "Asiento" as asto {
	*fila : number
	*columna : char
	*planta : number
	--
	ocupado : bool
}

entity "Aeropuerto" as arp {
	*código : string
	--
	nombre : string
	país : string
	localidad : string
}

cli }o--|{ vlo : reserva
note on link
	tarjeta crédito : string
end note

<> diamond

cli }|-- diamond : obtiene
diamond --|{ tde
diamond --|{ vlo

tde ||--|| asto : genera

avn ||--|{ vlo : realiza

vlo }|--|| arp : sale de

vlo }|--|| arp : llega a

@enduml