{"id":2222,"date":"2026-08-18T07:03:18","date_gmt":"2026-08-18T07:03:18","guid":{"rendered":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"modified":"2026-08-18T07:03:18","modified_gmt":"2026-08-18T07:03:18","slug":"building-a-hotel-management-erd-with-plantuml-and-vpascode","status":"publish","type":"post","link":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","title":{"rendered":"Criando um Diagrama Entidade-Relacionamento (DER) de Gest\u00e3o Hoteleira com PlantUML e VPasCode"},"content":{"rendered":"<p><img loading=\"lazy\" alt='A YouTube thumbnail-style graphic featuring the bold text \"BUILD PROFESSIONAL DATABASE DIAGRAMS\" in large uppercase letters, with a pointing finger icon on the right and a rendered Entity Relationship Diagram displayed in the background.' class=\"alignnone size-full wp-image-2717\" decoding=\"async\" height=\"768\" loading=\"lazy\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg 1376w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-300x167.jpg 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-1024x572.jpg 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-768x429.jpg 768w\" width=\"1376\"\/><\/p>\n<p>Ao projetar arquiteturas de banco de dados robustas para dom\u00ednios complexos como a hospitalidade, visualizar claramente as rela\u00e7\u00f5es \u00e9 fundamental. Seja mapeando perfis de clientes, rastreando invent\u00e1rios de quartos ou gerenciando faturamento, um Diagrama Entidade-Relacionamento (DER) bem estruturado economiza in\u00fameras horas durante o desenvolvimento. Nesta masterclass, vou mostrar como constru\u00ed um DER abrangente de Gest\u00e3o Hoteleira do zero usando PlantUML dentro do <a href=\"https:\/\/www.vpascode.com\/editor\/\">editor gratuito de PlantUML<\/a>, <a href=\"https:\/\/vpascode.com\/\">VPasCode<\/a>.<\/p>\n<p id=\"LzlMgfr\"><img loading=\"lazy\" alt=\"Hotel Management ERD diagram showing relationships between Customer, Room, Reservation, Payment, and Staff entities.\" class=\"alignnone size-full wp-image-2661\" decoding=\"async\" height=\"738\" loading=\"lazy\" sizes=\"auto, (max-width: 1508px) 100vw, 1508px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png 1508w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-300x147.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-1024x501.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-768x376.png 768w\" width=\"1508\"\/><\/p>\n<h2>1. Inicializando o Ambiente PlantUML<\/h2>\n<p>Come\u00e7o configurando a estrutura fundamental do script. Ao trabalhar com esquemas complexos contendo numerosos atributos, a legibilidade do layout \u00e9 primordial. Configuro o PlantUML para ocultar elementos desnecess\u00e1rios e otimizar a dire\u00e7\u00e3o do layout do diagrama:<\/p>\n<pre><code class=\"language-plantuml\">\r\n@startuml \r\ntitle DER de Gest\u00e3o Hoteleira\r\n\r\nhide circle\r\nleft to right direction\r\n    <\/code><\/pre>\n<p><strong>Por que esta abordagem?<\/strong> Ocultar os c\u00edrculos padr\u00e3o dos atributos mant\u00e9m as caixas das entidades limpas e modernas. Definir a dire\u00e7\u00e3o para <code>da esquerda para a direita<\/code> ajuda a evitar que DERs largos se tornem verticalmente incontrol\u00e1veis, distribuindo logicamente as rela\u00e7\u00f5es entre m\u00faltiplas tabelas.<\/p>\n<h2>2. Definindo Entidades e Atributos Principais<\/h2>\n<p>Em seguida, preciso definir as entidades principais que representam nosso dom\u00ednio de neg\u00f3cios. Estruturo cada entidade com suas chaves prim\u00e1rias, restri\u00e7\u00f5es de unicidade e atributos tipados. Vamos ver como configurei as entidades principais <code>Cliente<\/code> e <code>Tipo de Quarto<\/code>:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentity \"Cliente\" as cliente {\r\n  * customer_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&lt;UK&gt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentity \"Tipo de Quarto\" as tipodequarto {\r\n  * room_type_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&lt;UK&gt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n    <\/code><\/pre>\n<p>Ao definir marcadores expl\u00edcitos como <code>&lt;&lt;PK&gt;&gt;<\/code> e <code>&lt;&lt;UK&gt;&gt;<\/code>, qualquer pessoa que revise o c\u00f3digo entende instantaneamente as regras de indexa\u00e7\u00e3o e unicidade antes mesmo de os scripts de migra\u00e7\u00e3o do banco de dados serem escritos.<\/p>\n<h2>3. Mapeando Entidades Operacionais (Quartos, Reservas e Equipe)<\/h2>\n<p>Com nossos dados de refer\u00eancia estabelecidos, passo para o cora\u00e7\u00e3o transacional do sistema de gest\u00e3o hoteleira: quartos, reservas e fluxos de trabalho da equipe. Cada entidade se conecta \u00e0s nossas tabelas fundamentais usando chaves estrangeiras:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentity \"Quarto\" as quarto {\r\n  * room_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&lt;UK&gt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&lt;FK&gt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentity \"Reserva\" as reserva {\r\n  * reservation_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&lt;FK&gt;&gt;\r\n  room_id : UUID &lt;&lt;FK&gt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&lt;UK&gt;&gt;\r\n}\r\n    <\/code><\/pre>\n<h2>4. Estabelecendo Relacionamentos Financeiros e de Servi\u00e7os<\/h2>\n<p>Para finalizar a arquitetura, mapeio os registros de faturamento (Pagamentos e Faturas) juntamente com servi\u00e7os auxiliares como o Servi\u00e7o de Quarto, gerenciado pela equipe do hotel. Para conectar tudo, defino explicitamente a cardinalidade usando a nota\u00e7\u00e3o padr\u00e3o do PlantUML:<\/p>\n<pre><code class=\"language-plantuml\">\r\n' Relacionamentos\r\ncustomer ||--o{ reservation : \"faz\"\r\nroom ||--o{ reservation : \"atribu\u00eddo a\"\r\nreservation ||--|| payment : \"possui\"\r\nreservation ||--|| invoice : \"gera\"\r\nreservation ||--o{ roomservice : \"solicita\"\r\nstaff ||--o{ roomservice : \"atende\"\r\nroomtype ||--o{ room : \"categoriza\"\r\n\r\n@enduml\r\n    <\/code><\/pre>\n<p><strong>Escolha de Design:<\/strong> Usando nota\u00e7\u00e3o precisa de p\u00e9 de corvo (como &#8220;<code>||--o{<\/code> para relacionamentos obrigat\u00f3rios para opcionais de um-para-muitos) garante que as regras de l\u00f3gica de neg\u00f3cios \u2014 como uma reserva exigindo um cliente, mas um cliente podendo ter m\u00faltiplas ou zero reservas ativas \u2014 sejam modeladas com precis\u00e3o.<\/p>\n<section class=\"post-section\">\u00a0<\/section>\n<hr \/>\n<h2>O Script PlantUML Completo<\/h2>\n<p>Aqui est\u00e1 o c\u00f3digo-fonte completo e montado para o nosso diagrama ERD de gerenciamento de hotel. Voc\u00ea pode copiar e colar este c\u00f3digo diretamente no seu editor favorito de <strong>editor PlantUML gratuito<\/strong> para editar ou renderizar gr\u00e1ficos vetoriais:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Edite PlantUML no VPasCode<\/span>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPR1Zjis48Rl1lmEn5xI55rWkqKlGL34NRl90jaaTPoYDs8iZYmY5AcGb1idcuVfAQS-nRvOXvJabIogGFUIYs5oXYFoct-6VEOyM5-NYirdyvcNNY5RIjXPA86jraica3r7YpgJKABs9aoyC1vLy2yaZJ9fCuNpcP0MCo-DPWfppyZLobtXWzyZjiHSQcaPXP0213gMcPA1jt9RU-Fcis3m1tPsfIJznJC6v58xRqgqxFDynjZtnp6NWZrXxzvTBzdJNuBf_3pyvj8wppNjawn_BDPNBnRhxtw-U1ni2YPDM89KlUaVBouUjt6hmkZ-Yijc1GXXqJaoR5P_Rc9uSm3b3xmoKljWk7wrMJrVhOFD6m-A4-V3YK60Hsvn9vqdmk58c-kRrTlDukRDqMnolfNM5sHSBZQhCAyXG0OLS9qSvak0tP7ylQRCcWZI6eBTGWp_9m16awxBBI7ly-XmvCeOU-_GEqfSwGyLZY9dK47MRBNdlmM7lB8o2tINgwlhcyLB-j0Fbv6lT1psb1JOgc3_zVNhbwl5gs0fmF6znB-6i-u37HLvZkY7dubP9_6QFR4KHuO3J1jPHL6Vu0g76I1BdgxX5arZSRK-9FRCoYfMnhrYI0zQW1Ny8O3mexV0jqYh2x2xf4z0zLxwh42DtYSuRa5bHX_wXW6ODJgqUsY8DF_Z6JeezrCJM2RBDIb1scZsdalDW-vxSc_cJUrF3OqEGuNiQdJfgeFIrDgdy11_NxjnRRiAgTKfKis7BcgNiinYa147VrggTIKcB4IOsbBPOCgCEEacyUm3wczWrpJQoBs2GnXqpDlXLFd-HqQcGNGnMxg3tNUs4drXH6_hFpMmI8NQGNR_nR7wfpZJNO5K5BosgeVOObvhCPcs0QdVAB1jv2drteHIQJ6rmmTWwbQEck3byK3IkPfIVI96KUFfbAktKOGfw1u-9aL96mkVdwxgXybwoAscozpekx-jR4H6Q_AyOnS7t_g2jKRXM6q5FJ16a461FIH953Btt57x4BLAx2fSCgJSFKusmBSX6tTVKxT3cwWZj3Pl_rzmQTnTl7W9ZNQUlb3QXiMzB77SXSfAOTn0oZnLenFtpvVcIRT61K58JRkY9zpnkNPxUtvkFWykZIViB8TFP_DPV8ga7PhNuDq_mZ08dZrhM71xUso7v5mPgaEPTklQ0RdjqAPYXO_tqaYEpYX9rt1mRkeXxKRgqmBRSyJqzFo2GqOUEsFbfn1fFdj6xlIw_XS0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml \r\n\r\ntitle Diagrama ERD de Gerenciamento de Hotel\r\n\r\nhide circle\r\ndirection left to right\r\n\r\n' Definir entidades com atributos\r\nentity \"Cliente\" as customer {\r\n  * customer_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentity \"Quarto\" as room {\r\n  * room_id : UUID &lt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentity \"Tipo de Quarto\" as roomtype {\r\n  * room_type_id : UUID &lt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n\r\nentity \"Reserva\" as reservation {\r\n  * reservation_id : UUID &lt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&gt;\r\n  room_id : UUID &lt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&gt;\r\n}\r\n\r\nentity \"Pagamento\" as payment {\r\n  * payment_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  amount : DECIMAL(10,2)\r\n  payment_date : TIMESTAMP\r\n  payment_method : VARCHAR(30)\r\n  transaction_id : VARCHAR(50) &lt;&gt;\r\n  status : VARCHAR(20)\r\n  receipt_url : TEXT\r\n  refund_amount : DECIMAL(10,2)\r\n}\r\n\r\nentity \"Fatura\" as invoice {\r\n  * invoice_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  invoice_number : VARCHAR(20) &lt;&gt;\r\n  issued_date : DATE\r\n  due_date : DATE\r\n  subtotal : DECIMAL(10,2)\r\n  tax : DECIMAL(10,2)\r\n  service_charge : DECIMAL(10,2)\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n}\r\n\r\nentity \"Funcion\u00e1rio\" as staff {\r\n  * staff_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  role : VARCHAR(30)\r\n  hire_date : DATE\r\n  salary : DECIMAL(10,2)\r\n  shift_schedule : VARCHAR(50)\r\n  is_active : BOOLEAN\r\n}\r\n\r\nentity \"Servi\u00e7o de Quarto\" as roomservice {\r\n  * service_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  staff_id : UUID &lt;&gt;\r\n  service_type : VARCHAR(50)\r\n  description : TEXT\r\n  request_time : TIMESTAMP\r\n  completion_time : TIMESTAMP\r\n  status : VARCHAR(20)\r\n  price : DECIMAL(10,2)\r\n}\r\n\r\n' Relacionamentos\r\ncustomer ||--o{ reservation : \"faz\"\r\nroom ||--o{ reservation : \"atribu\u00eddo a\"\r\nreservation ||--|| payment : \"possui\"\r\nreservation ||--|| invoice : \"gera\"\r\nreservation ||--o{ roomservice : \"solicita\"\r\nstaff ||--o{ roomservice : \"atende\"\r\nroomtype ||--o{ room : \"categoriza\"\r\n\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPR1Zjis48Rl1lmEn5xI55rWkqKlGL34NRl90jaaTPoYDs8iZYmY5AcGb1idcuVfAQS-nRvOXvJabIogGFUIYs5oXYFoct-6VEOyM5-NYirdyvcNNY5RIjXPA86jraica3r7YpgJKABs9aoyC1vLy2yaZJ9fCuNpcP0MCo-DPWfppyZLobtXWzyZjiHSQcaPXP0213gMcPA1jt9RU-Fcis3m1tPsfIJznJC6v58xRqgqxFDynjZtnp6NWZrXxzvTBzdJNuBf_3pyvj8wppNjawn_BDPNBnRhxtw-U1ni2YPDM89KlUaVBouUjt6hmkZ-Yijc1GXXqJaoR5P_Rc9uSm3b3xmoKljWk7wrMJrVhOFD6m-A4-V3YK60Hsvn9vqdmk58c-kRrTlDukRDqMnolfNM5sHSBZQhCAyXG0OLS9qSvak0tP7ylQRCcWZI6eBTGWp_9m16awxBBI7ly-XmvCeOU-_GEqfSwGyLZY9dK47MRBNdlmM7lB8o2tINgwlhcyLB-j0Fbv6lT1psb1JOgc3_zVNhbwl5gs0fmF6znB-6i-u37HLvZkY7dubP9_6QFR4KHuO3J1jPHL6Vu0g76I1BdgxX5arZSRK-9FRCoYfMnhrYI0zQW1Ny8O3mexV0jqYh2x2xf4z0zLxwh42DtYSuRa5bHX_wXW6ODJgqUsY8DF_Z6JeezrCJM2RBDIb1scZsdalDW-vxSc_cJUrF3OqEGuNiQdJfgeFIrDgdy11_NxjnRRiAgTKfKis7BcgNiinYa147VrggTIKcB4IOsbBPOCgCEEacyUm3wczWrpJQoBs2GnXqpDlXLFd-HqQcGNGnMxg3tNUs4drXH6_hFpMmI8NQGNR_nR7wfpZJNO5K5BosgeVOObvhCPcs0QdVAB1jv2drteHIQJ6rmmTWwbQEck3byK3IkPfIVI96KUFfbAktKOGfw1u-9aL96mkVdwxgXybwoAscozpekx-jR4H6Q_AyOnS7t_g2jKRXM6q5FJ16a461FIH953Btt57x4BLAx2fSCgJSFKusmBSX6tTVKxT3cwWZj3Pl_rzmQTnTl7W9ZNQUlb3QXiMzB77SXSfAOTn0oZnLenFtpvVcIRT61K58JRkY9zpnkNPxUtvkFWykZIViB8TFP_DPV8ga7PhNuDq_mZ08dZrhM71xUso7v5mPgaEPTklQ0RdjqAPYXO_tqaYEpYX9rt1mRkeXxKRgqmBRSyJqzFo2GqOUEsFbfn1fFdj6xlIw_XS0\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n             <\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Edite PlantUML no VPasCode<\/span>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"ANJCSUi\"><img loading=\"lazy\" alt=\"Editing a ERD in Visual Paradigm VPasCode\" class=\"alignnone wp-image-2662 size-full\" decoding=\"async\" height=\"856\" loading=\"lazy\" sizes=\"auto, (max-width: 1311px) 100vw, 1311px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png 1311w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-300x196.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-1024x669.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-768x501.png 768w\" width=\"1311\"\/><\/p>\n<hr \/>\n<section class=\"post-section\"><span style=\"font-size: 1.7em; font-weight: bold;\">D\u00ea Vida aos Seus Projetos de Banco de Dados com o VPasCode<\/span><\/section>\n<p>Criar modelos de banco de dados complexos n\u00e3o precisa significar lutar com interfaces de usu\u00e1rio arrastar e soltar pesadas. Ao aproveitar uma abordagem de diagrama como c\u00f3digo, sua arquitetura permanece com controle de vers\u00e3o, limpa e facilmente mant\u00edvel.<\/p>\n<p>Pronto para tentar criar suas pr\u00f3prias arquiteturas de sistema? V\u00e1 para <a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a> para experimentar renderiza\u00e7\u00e3o em tempo real, detec\u00e7\u00e3o autom\u00e1tica de formato e exporta\u00e7\u00f5es perfeitas para sua documenta\u00e7\u00e3o t\u00e9cnica hoje mesmo!<\/p>\n","protected":false},"excerpt":{"rendered":"Ao projetar arquiteturas de banco de dados robustas para dom\u00ednios complexos como a hospitalidade, visualizar claramente as rela\u00e7\u00f5es \u00e9 fundamental. Seja mapeando perfis de clientes, rastreando invent\u00e1rios de quartos ou gerenciando faturamento, um Diagrama Entidade-Relacionamento (DER) bem estruturado economiza in\u00fameras&#8230;","protected":false},"author":4,"featured_media":2223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","_yoast_wpseo_metadesc":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[19],"tags":[],"asset-category":[],"class_list":["post-2222","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-guides"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Build a Hotel Management ERD Using PlantUML &amp; VPasCode<\/title>\n<meta name=\"description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build a Hotel Management ERD Using PlantUML &amp; VPasCode\" \/>\n<meta property=\"og:description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-18T07:03:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"jick\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"author\":{\"name\":\"jick\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\"},\"headline\":\"Criando um Diagrama Entidade-Relacionamento (DER) de Gest\u00e3o Hoteleira com PlantUML e VPasCode\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"wordCount\":555,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"articleSection\":[\"Tutorials &amp; Guides\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"name\":\"Build a Hotel Management ERD Using PlantUML & VPasCode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"description\":\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"width\":1376,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Criando um Diagrama Entidade-Relacionamento (DER) de Gest\u00e3o Hoteleira com PlantUML e VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/wp-content\\\/uploads\\\/sites\\\/10\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\",\"name\":\"jick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"caption\":\"jick\"},\"url\":\"https:\\\/\\\/www.vpascode.com\\\/pt\\\/author\\\/jick\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build a Hotel Management ERD Using PlantUML & VPasCode","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_locale":"pt_PT","og_type":"article","og_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","og_description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","og_url":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_site_name":"VPasCode","article_published_time":"2026-08-18T07:03:18+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","type":"image\/jpeg"}],"author":"jick","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":false,"Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"author":{"name":"jick","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6"},"headline":"Criando um Diagrama Entidade-Relacionamento (DER) de Gest\u00e3o Hoteleira com PlantUML e VPasCode","datePublished":"2026-08-18T07:03:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"wordCount":555,"commentCount":0,"publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","articleSection":["Tutorials &amp; Guides"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","url":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","name":"Build a Hotel Management ERD Using PlantUML & VPasCode","isPartOf":{"@id":"https:\/\/www.vpascode.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","datePublished":"2026-08-18T07:03:18+00:00","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","width":1376,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/pt\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Criando um Diagrama Entidade-Relacionamento (DER) de Gest\u00e3o Hoteleira com PlantUML e VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/pt\/#website","url":"https:\/\/www.vpascode.com\/pt\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/pt\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/pt\/wp-content\/uploads\/sites\/10\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.vpascode.com\/pt\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6","name":"jick","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","caption":"jick"},"url":"https:\/\/www.vpascode.com\/pt\/author\/jick\/"}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/posts\/2222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/comments?post=2222"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/posts\/2222\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media\/2223"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/media?parent=2222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/categories?post=2222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/tags?post=2222"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.vpascode.com\/pt\/wp-json\/wp\/v2\/asset-category?post=2222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}