{"id":289,"date":"2025-04-28T06:22:26","date_gmt":"2025-04-28T06:22:26","guid":{"rendered":"https:\/\/opentravelstg.wpenginepowered.com\/?page_id=289"},"modified":"2025-08-12T05:59:06","modified_gmt":"2025-08-12T12:59:06","slug":"download-otm-tool","status":"publish","type":"page","link":"https:\/\/opentravel.org\/download-otm-tool\/","title":{"rendered":"Download OTM Tool"},"content":{"rendered":"<style>.kb-row-layout-id289_00e80b-24 > .kt-row-column-wrap{align-content:center;}:where(.kb-row-layout-id289_00e80b-24 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:center;}.kb-row-layout-id289_00e80b-24 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:1140px;margin-left:auto;margin-right:auto;padding-top:var(--global-kb-spacing-lg, 3rem);padding-bottom:var(--global-kb-spacing-lg, 3rem);min-height:500px;grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id289_00e80b-24{background-image:url('https:\/\/opentravel.org\/wp-content\/uploads\/2025\/08\/opentravel-future.jpg');background-size:cover;background-position:center center;background-attachment:scroll;background-repeat:no-repeat;}.kb-row-layout-id289_00e80b-24 > .kt-row-layout-overlay{opacity:0.50;background-color:#000000;}@media all and (max-width: 1024px){.kb-row-layout-id289_00e80b-24 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id289_00e80b-24 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id289_00e80b-24 alignfull kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-layout-overlay kt-row-overlay-normal\"><\/div><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-middle\">\n<style>.kadence-column289_396e2e-eb > .kt-inside-inner-col{display:flex;}.kadence-column289_396e2e-eb > .kt-inside-inner-col,.kadence-column289_396e2e-eb > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column289_396e2e-eb > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column289_396e2e-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column289_396e2e-eb > .kt-inside-inner-col > .aligncenter{width:100%;}.kt-row-column-wrap > .kadence-column289_396e2e-eb{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column289_396e2e-eb{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column289_396e2e-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column289_396e2e-eb > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column289_396e2e-eb{position:relative;}@media all and (max-width: 1024px){.kt-row-column-wrap > .kadence-column289_396e2e-eb{align-self:center;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column289_396e2e-eb{align-self:auto;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column289_396e2e-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 1024px){.kadence-column289_396e2e-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kt-row-column-wrap > .kadence-column289_396e2e-eb{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column289_396e2e-eb{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column289_396e2e-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column289_396e2e-eb > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column289_396e2e-eb\"><div class=\"kt-inside-inner-col\">\n<h1 class=\"wp-block-heading has-text-align-center has-hs-4-color has-text-color has-link-color wp-elements-a9fb7793f03b2257bfd7676e46e8f4dd\">Download OTM Tool<\/h1>\n<\/div><\/div>\n\n<\/div><\/div>\n\n<style>.kb-row-layout-id289_01c908-9c > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id289_01c908-9c > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id289_01c908-9c > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:1000px;margin-left:auto;margin-right:auto;padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id289_01c908-9c > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id289_01c908-9c > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id289_01c908-9c > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id289_01c908-9c alignfull wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column289_2a6bd2-96 > .kt-inside-inner-col,.kadence-column289_2a6bd2-96 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column289_2a6bd2-96 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column289_2a6bd2-96 > .kt-inside-inner-col{flex-direction:column;}.kadence-column289_2a6bd2-96 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column289_2a6bd2-96 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column289_2a6bd2-96{position:relative;}@media all and (max-width: 1024px){.kadence-column289_2a6bd2-96 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column289_2a6bd2-96 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column289_2a6bd2-96\"><div class=\"kt-inside-inner-col\">\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\"><em>About DEx<\/em><\/h2>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center\">Open Travel 2.0 moved the focus from messages to objects. OTA 1.0 defined directly the on-the-wire format for a message which left it detached from the code and data needed to act on a request. That is, the XML messages created are a real pain to program to. By defining the business objects (ex: reservation) up front, we can better align with business functions needing exposure. This is not only developer friendly but in alignment REST type functions also known as microservices. We wanted to use tooling to take the business object and service descriptions in a domain level model and dynamically create the on-the-wire message. We wanted to be flexible in the protocol such as supporting XML or JSON from the same model.<br><br>As a team we looked at various UML tools that could generate XML but none sufficed. All allowed modelers to create structures not conducive for programing and they generated poor XML. Hence the DE or developer experience effort was started. From that open source community effort a modeling tool and matching complier was created. More recently the DE was updated, extended, and DEx was created.<\/p>\n\n\n\n<p class=\"has-text-align-center\">Steve Livezey and Dave Hollander were the principal architect\/engineers that created the collection of DE, now DEx tools. View the following video where Steve will walk you though and overview of the DEx environment. There is a second video by Sandy Angel of AHLA who runs the hospitality workgroups. Sandy provided and example of how members use the DEx tool to look at messages. Then come back here if you with to download the tool.<\/p>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div><\/div>\n\n<\/div><\/div>\n\n<style>.kb-row-layout-id289_05ab38-65 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id289_05ab38-65 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id289_05ab38-65 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);max-width:1140px;margin-left:auto;margin-right:auto;padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id289_05ab38-65 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id289_05ab38-65 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id289_05ab38-65 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id289_05ab38-65 alignfull has-hs-6-background-color kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column289_dfb008-e7 > .kt-inside-inner-col,.kadence-column289_dfb008-e7 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column289_dfb008-e7 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column289_dfb008-e7 > .kt-inside-inner-col{flex-direction:column;}.kadence-column289_dfb008-e7 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column289_dfb008-e7 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column289_dfb008-e7{position:relative;}@media all and (max-width: 1024px){.kadence-column289_dfb008-e7 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column289_dfb008-e7 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column289_dfb008-e7\"><div class=\"kt-inside-inner-col\">\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<style>.kb-row-layout-id289_5ed04f-d0 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id289_5ed04f-d0 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id289_5ed04f-d0 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id289_5ed04f-d0 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id289_5ed04f-d0 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id289_5ed04f-d0 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id289_5ed04f-d0 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-2-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column289_2fa866-6a > .kt-inside-inner-col,.kadence-column289_2fa866-6a > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column289_2fa866-6a > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column289_2fa866-6a > .kt-inside-inner-col{flex-direction:column;}.kadence-column289_2fa866-6a > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column289_2fa866-6a > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column289_2fa866-6a{position:relative;}@media all and (max-width: 1024px){.kadence-column289_2fa866-6a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column289_2fa866-6a > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column289_2fa866-6a\"><div class=\"kt-inside-inner-col\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"OTM DEx Demo\" width=\"800\" height=\"450\" data-src=\"https:\/\/www.youtube.com\/embed\/pvOlHTSkm1U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left\"><em><strong>DEx Introduction by Steve<\/strong><\/em><\/h4>\n<\/div><\/div>\n\n\n<style>.kadence-column289_58f902-a3 > .kt-inside-inner-col,.kadence-column289_58f902-a3 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column289_58f902-a3 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column289_58f902-a3 > .kt-inside-inner-col{flex-direction:column;}.kadence-column289_58f902-a3 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column289_58f902-a3 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column289_58f902-a3{position:relative;}@media all and (max-width: 1024px){.kadence-column289_58f902-a3 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column289_58f902-a3 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column289_58f902-a3\"><div class=\"kt-inside-inner-col\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"OpenTravel Architecture Committee 20230414 113646 Meeting Recording\" width=\"800\" height=\"450\" data-src=\"https:\/\/www.youtube.com\/embed\/M44exIe4vDo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-left\"><strong><em>Sandy provides the basics on how to view the model and generate messages.<\/em><\/strong><\/h4>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<p class=\"has-text-align-center\">The OpenTravel Modeling tool is now in its second iteration. OTM-DEx is a Java-based modeler that works in conjunction with the OTA 2.0 repository to allow you to quickly interact and modify the 2.0 models. To use this tool you will need to have Java 8 installed and will need to register for access to the repository. In late 2023, users were increasingly having issues with DEx and access to the OTA 2.0 libraries. This was because both the tool and website used HTTP versus HTTPS. We were not encrypting the messages which became a red flag for some browsers and firewalls. In early 2024 the tool and website were updated to use HTTPS. For DEx users this means downloading and installing the current DEx version. For those using the browser to look at the libraries, it is usually transparent. In some cases it means clearing the browser cache. If you have any issues, start with the suggestions posted&nbsp;<a href=\"https:\/\/opentravel.org\/help-with-common-technical-issues\/\" data-type=\"link\" data-id=\"https:\/\/opentravel.org\/help-with-common-technical-issues\/\">here<\/a>.<\/p>\n\n\n\n<p class=\"has-text-align-center\">The OpenTravel Modeling tool is now in its second iteration. OTM-DEx is a Java-based modeler that works in conjunction with the OTA 2.0 repository to allow you to quickly interact and modify the 2.0 models. To use this tool you will need to have Java 8 installed and will need to register for access to the repository. In late 2023, users were increasingly having issues with DEx and access to the OTA 2.0 libraries. This was because both the tool and website used HTTP versus HTTPS. We were not encrypting the messages which became a red flag for some browsers and firewalls. In early 2024 the tool and website were updated to use HTTPS. For DEx users this means downloading and installing the current DEx version. For those using the browser to look at the libraries, it is usually transparent. In some cases it means clearing the browser cache. If you have any issues, start with the suggestions posted&nbsp;<a href=\"https:\/\/opentravel.org\/tech-faqs\/\">here<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Update!<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><em>You can now run DEx in your own EC2 instance or as an&nbsp;<a href=\"https:\/\/docs.aws.amazon.com\/workspaces\/latest\/adminguide\/amazon-workspaces.html\"><span style=\"text-decoration: underline;\">AWS Workspace<\/span><\/a>. Instructions can be found&nbsp;<a href=\"https:\/\/opentravel.org\/dex-in-the-cloud\/\"><span style=\"text-decoration: underline;\">here<\/span><\/a>.<\/em><\/h4>\n\n\n\n<p>Please watch this short video on how to download and install the tool.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls preload=\"auto\" src=\"https:\/\/opentravel.org\/wp-content\/uploads\/2025\/04\/OTM-DEx-Setup.mp4\"><\/video><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-hs-4-color has-hs-2-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/opentravel.org\/otm-repository\/\">2.0 Repo Access<\/a><\/div>\n\n\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-hs-4-color has-hs-2-background-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/github.com\/OpenTravel\/OTM-DE-Utilities\/releases\/tag\/5.0-SNAPSHOT-20240131\" target=\"_blank\" rel=\"noreferrer noopener\">Download Tool<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div><\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Download OTM Tool About DEx Open Travel 2.0 moved the focus from messages to objects. OTA 1.0 defined directly the on-the-wire format for a message which left it detached from &#8230;<\/p>\n","protected":false},"author":3,"featured_media":45251,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-289","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"featured_image_src":"https:\/\/opentravel.org\/wp-content\/uploads\/2025\/08\/featured-image-1-600x400.jpg","featured_image_src_square":"https:\/\/opentravel.org\/wp-content\/uploads\/2025\/08\/featured-image-1-600x600.jpg","_links":{"self":[{"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/pages\/289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/comments?post=289"}],"version-history":[{"count":0,"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/pages\/289\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/media\/45251"}],"wp:attachment":[{"href":"https:\/\/opentravel.org\/wp-json\/wp\/v2\/media?parent=289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}