{"id":28,"date":"2024-02-23T14:57:57","date_gmt":"2024-02-23T13:57:57","guid":{"rendered":"http:\/\/localhost\/?page_id=28"},"modified":"2024-10-07T14:36:57","modified_gmt":"2024-10-07T12:36:57","slug":"transmodel-at-a-glance","status":"publish","type":"page","link":"https:\/\/transmodel-cen.eu\/index.php\/transmodel-at-a-glance\/","title":{"rendered":"Transmodel at a glance"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"28\" class=\"elementor elementor-28\">\n\t\t\t\t<div class=\"elementor-element elementor-element-81ab9a2 e-flex e-con-boxed e-con e-parent\" data-id=\"81ab9a2\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cf49177 elementor-widget elementor-widget-heading\" data-id=\"cf49177\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Transmodel at a glance<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-97d43cd elementor-widget elementor-widget-text-editor\" data-id=\"97d43cd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Transmodel is a conceptual data model describing in terms of data structures (entities and relationships between them) the domain of Public Transport.\u00a0<\/p><p>It may be used for several <a href=\"https:\/\/transmodel-cen.eu\/index.php\/purpose\/\">purposes<\/a>, in particular to specify a data base or data exchange formats that enable the sharing and provision of accurate and interoperable public transport information across organisation- and system-boundaries.\u00a0<\/p><p>When writing laws and regulations, procuring technical systems or integrating technical systems, it is a huge advantage to have access to a precise language.\u00a0<\/p><p>Transmodel is a semantic model. This means that not only concepts\/data elements are provided (i.e. their naming and definition), but also the relationships between concepts (i.e. data structures). This means that not only language elements are fixed but also that it constitutes an unambiguous input to design implementations, e.g. data exchange formats.\u00a0<\/p><p>In the same fashion that we have been able to agree on symbols on road signs that are the same or similar across many countries. We have in Transmodel a foundation for a common language for public transport.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d781e26 e-flex e-con-boxed e-con e-parent\" data-id=\"d781e26\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0bb6dad elementor-widget elementor-widget-heading\" data-id=\"0bb6dad\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Transmodel \u2013 making travel easy<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b02db2 elementor-widget elementor-widget-text-editor\" data-id=\"4b02db2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The traveller needs consistent, complete and correct real time information about his or her trip. This applies before, during and after they travel.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bc31e37 elementor-widget elementor-widget-image\" data-id=\"bc31e37\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"314\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/02\/tag18-1-768x314-1.png\" class=\"attachment-large size-large wp-image-154\" alt=\"\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/02\/tag18-1-768x314-1.png 768w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/02\/tag18-1-768x314-1-300x123.png 300w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 1: Consistent travel information across different modes is essential<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4e5f96 elementor-widget elementor-widget-text-editor\" data-id=\"c4e5f96\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>There are many organisations, companies and IT systems involved in the provision of public transport and related areas that must interact to make both the services themselves and information about them possible. In addition to the explicit passenger information, other information must be handled to monitor, manage and optimise the operation of public transport.<\/p><p>&lt;p &#8220;=&#8221;&#8221;&gt;But how can we ensure a robust and efficient exchange of information between the involved systems? A first requirement is that the involved parties understand each other.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-483a2e7 e-flex e-con-boxed e-con e-parent\" data-id=\"483a2e7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4b7c827 elementor-widget elementor-widget-text-editor\" data-id=\"4b7c827\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><img decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag02-1.png\" sizes=\"(max-width: 753px) 100vw, 753px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag02-1.png 988w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag02-1-300x120.png 300w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag02-1-768x306.png 768w\" alt=\"\" width=\"753\" height=\"300\" \/><\/p><p style=\"box-sizing: inherit; font-variant-ligatures: normal; font-variant-caps: normal; text-align: center;\"><span style=\"color: #999999;\"><i>Figure 2: Many systems must interact and share information<\/i><\/span><\/p><p>Historically different companies and organisations developed their own terminology which resulted in confusion and misunderstanding when trying to interact with other actors.<\/p><p>One example to illustrate this, is the need to clearly separate the description of the movement of a person, from the movement of a vehicle in public transport. Transmodel has a definite standpoint on this as is described by the series of pictures below.<\/p><p><img decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag13-1.png\" sizes=\"(max-width: 435px) 100vw, 435px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag13-1.png 579w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag13-1-300x207.png 300w\" alt=\"\" width=\"435\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure\u00a03: People and vehicles moving through a city<\/em><\/span><\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag19-1.png\" sizes=\"(max-width: 468px) 100vw, 468px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag19-1.png 434w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag19-1-300x192.png 300w\" alt=\"\" width=\"468\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 4: A\u00a0service journey\u00a0with a bus going from B to F<\/em><\/span><\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal; text-align: center;\"><span style=\"box-sizing: inherit;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag10-1.png\" sizes=\"(max-width: 318px) 100vw, 318px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag10-1.png 402w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag10-1-300x283.png 300w\" alt=\"\" width=\"318\" height=\"300\" \/><\/span><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 5: A\u00a0service journey\u00a0with a tram going from A to M<\/em><\/span><\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal; text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag12-1.png\" sizes=\"(max-width: 335px) 100vw, 335px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag12-1.png 358w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag12-1-300x269.png 300w\" alt=\"\" width=\"335\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><em><span style=\"color: #999999;\">Figure 6: A\u00a0PT trip\u00a0with a person going from C to F. The person rides the tram between C and D and the bus between D and F<\/span><\/em><\/p><p>According to Transmodel, a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">service journey<\/span>\u00a0is related to the movement of the vehicle, while a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">PT<\/span>\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">trip\u00a0<\/span>is related the movement of the person. A typical misunderstanding occurs if persons talking to each other do not have a common understanding of what a certain word means.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag06-1.png\" sizes=\"(max-width: 530px) 100vw, 530px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag06-1.png 565w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag06-1-300x170.png 300w\" alt=\"\" width=\"530\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 7: Trying to convey the concept of a person\u2019s movement<\/em><\/span><\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag09-1.png\" sizes=\"(max-width: 544px) 100vw, 544px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag09-1.png 575w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag09-1-300x165.png 300w\" alt=\"\" width=\"544\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><em><span style=\"color: #999999;\">Figure 8: Failing to convey the message if there are different interpretations of what the word\u00a0trip\u00a0means.<\/span><\/em><\/p><p>On the other hand, if involved persons rely on Transmodel terminology, such misunderstandings can be avoided.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag08-1.png\" sizes=\"(max-width: 519px) 100vw, 519px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag08-1.png 571w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag08-1-300x173.png 300w\" alt=\"\" width=\"519\" height=\"300\" \/>\u00a0 \u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag17-1.png\" sizes=\"(max-width: 511px) 100vw, 511px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag17-1.png 617w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag17-1-300x176.png 300w\" alt=\"\" width=\"511\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><em><span style=\"color: #999999;\">Figure 9: Common understanding when using Transmodel terminology<\/span><\/em><\/p><p>In addition to providing a long list of defined terms, Transmodel also describes a conceptual model of how these terms relate to each other.<\/p><h2>Transmodel \u2013 a nomenclature for public transport<\/h2><p>Transmodel provides matching definitions, structures and semantics for PT data allowing the design of coherent, precise and efficient data exchange across domains.<\/p><h2>Transmodel &#8211; Bridging the gap between the conventional public transport and alternative modes<\/h2><p>From version 6.1 on,\u00a0Transmodel, additional concepts have been added to simplify the bridging between <b>conventional public transport<\/b> (e.g. which relies on a schedule, a predefined network) and <a href=\"https:\/\/transmodel-cen.eu\/\"><b>alternative modes<\/b><\/a>. It is possible to describe trips and travel that also includes all kinds of modes, for example trips composed of trip legs by bus followed by trip legs by a shared car or by car pooling. It is also possible to describe the guidance of travellers about how to find the means of transport\u00a0(e.g. stop places or car pooling locations) when starting a trip or interchanging.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2309f61 elementor-widget elementor-widget-image\" data-id=\"2309f61\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"475\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/09\/modes-of-operation-768x475.png\" class=\"attachment-medium_large size-medium_large wp-image-2983\" alt=\"\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/09\/modes-of-operation-768x475.png 768w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/09\/modes-of-operation-300x186.png 300w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/09\/modes-of-operation-1024x633.png 1024w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/09\/modes-of-operation-1536x950.png 1536w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2024\/09\/modes-of-operation-2048x1267.png 2048w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Figure 10: Definition of Public Transport and modes covered by Transmodel<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e2e713 elementor-widget elementor-widget-text-editor\" data-id=\"2e2e713\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h2><strong>Transmodel \u2013 Building systems of systems and the principal of separation of concerns<\/strong><\/h2><p>To succeed with combined mobility or MaaS it is crucial that the different technical systems involved can be seamlessly combined while retaining the respective systems&#8217; level of detail in their respective areas.<\/p><p>Transmodel is designed to allow for a separation of concerns so that different systems can work independently with different parts of the operation while at the same time allowing their information to be combined and presented unambiguously. Less advanced systems can coexist with more advanced systems.<\/p><p>For example, one system might describe the accessibility for different parts of a station, while other systems might describe different journeys that stop at the station.<\/p><h2>Transmodel \u2013 Some basic concepts<\/h2><p><b>Public Transport involves different transport modes using means\u00a0<\/b>such as bus, train, tram, metro, car, cycle, scooter, foot, skis, etc. Typically, buses are restricted to follow roads while trains, trams and metro follow tracks.<\/p><p>Travellers will board or alight from these different types of\u00a0vehicles at\u00a0stop places of different kinds. A\u00a0stop place\u00a0can be described according to its\u00a0accessibility,\u00a0what services are available, etc.<\/p><p>In public transport, you will normally board and alight at a bus stop, at the edge of a platform, through a gate or at a pier, but for a timetable the physical nature of the stop doesn\u2019t actually matter; it is just the place the service stops to collect passengers. These alighting and boarding points are generally represented as\u00a0scheduled stop points\u00a0in the planning software. (A scheduled stop point will of course be associated with a physical\u00a0stop place\u00a0or even a specific\u00a0quay\u00a0(platform) or boarding point within it).<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag16-1.png\" alt=\"\" width=\"63\" height=\"48\" \/><\/p><p style=\"text-align: center;\"><em><span style=\"color: #999999;\">Figure 11: Scheduled stop point<\/span><\/em><\/p><p>In the planning software it is possible to define a pattern of working for a public transport vehicle by listing a sequence of\u00a0<strong>scheduled stop points<\/strong>.\u00a0This is called a\u00a0<strong>journey pattern<\/strong>.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag00-1.png\" sizes=\"(max-width: 301px) 100vw, 301px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag00-1.png 338w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag00-1-300x300.png 300w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag00-1-150x150.png 150w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag00-1-60x60.png 60w\" alt=\"\" width=\"301\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 12: Journey pattern<\/em><\/span><\/p><p>There is a separate\u00a0<strong>journey pattern<\/strong>\u00a0for each direction. For example, one\u00a0<strong>journey pattern<\/strong>\u00a0when going from Solna to Sickla and another going from Sickla to Solna. A\u00a0<strong>vehicle\u00a0<\/strong>may operate by simply going back and forth between the two termini and thus alternate between these two\u00a0<strong>journey patterns<\/strong>. A\u00a0<strong>journey pattern<\/strong>\u00a0may thus be used many times each day. There could also be other\u00a0<strong>journey patterns<\/strong> representing different variations of the basic patterns.<\/p><p>A\u00a0<strong>vehicle journey<\/strong>\u00a0describes one movement of a public transport\u00a0<strong>vehicle\u00a0<\/strong>from the start point to the end point of a\u00a0<strong>journey pattern<\/strong>\u00a0on an\u00a0<strong>operating day<\/strong>.\u00a0A\u00a0<strong>vehicle<\/strong> <strong>journey\u00a0<\/strong>starts at a certain time. A certain\u00a0<strong>vehicle journey\u00a0<\/strong>can be worked only once per day.<\/p><p>A\u00a0<strong>vehicle journey<\/strong>\u00a0that is meant to carry passengers is called a\u00a0<strong>service journey<\/strong>.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag05-1.png\" sizes=\"(max-width: 292px) 100vw, 292px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag05-1.png 385w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag05-1-292x300.png 292w\" alt=\"\" width=\"292\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 13: Vehicle Journey of type Service Journey<\/em><\/span><\/p><p>A<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0dead run<\/span>\u00a0is on the other hand a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">vehicle journey<\/span>\u00a0where passengers are not allowed on-board. One example is the movement from the depot to the first stop of the first\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">service journey<\/span>\u00a0in the morning.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag11-1.png\" sizes=\"(max-width: 255px) 100vw, 255px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag11-1.png 341w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag11-1-255x300.png 255w\" alt=\"\" width=\"255\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 14: Vehicle Journey of type Dead Run<\/em><\/span><\/p><p>The working of a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">vehicle<\/span>\u00a0from when it leaves the depot to when it returns can be described by a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">block<\/span>.<\/p><p>A\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">block<\/span>\u00a0typically starts with a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">dead run<\/span>\u00a0from the depot followed by a number of\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">service journey<\/span>s and finally a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">dead run<\/span>\u00a0back to the depot. A\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">block<\/span>\u00a0describes the work for a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">vehicle\u00a0<\/span>on a day<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0<\/span>or part of a day.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag01-1.png\" sizes=\"(max-width: 607px) 100vw, 607px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag01-1.png 886w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag01-1-300x148.png 300w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag01-1-768x380.png 768w\" alt=\"\" width=\"607\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 15: Block<\/em><\/span><\/p><p>Similarly, a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">duty<\/span>\u00a0describes the work for a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">driver<\/span>\u00a0on a day.<\/p><p>The above descriptions are simplified to convey the basic message, the documentation of the standard provides more details. To exemplify this, a somewhat deeper description of\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">duty\u00a0<\/span>follows below.<\/p><p>A\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">duty\u00a0<\/span>consists of periods when the<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0driver\u00a0<\/span>is working without a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">break,\u00a0<\/span>such a period is called a<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0stretch.<\/span><\/p><p><span style=\"box-sizing: inherit;\"><span style=\"text-align: var(--text-align);\"><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\">During a <b>stretch<\/b> the driver could be driving different <b>vehicles<\/b> or doing some other type of activity. Each such activity is called a <b>spell<\/b>.<\/span><\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\"><b>\u00a0<\/b><\/span><\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\">The\u00a0<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; box-sizing: inherit;\">driver\u00a0<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\">can also<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; box-sizing: inherit;\">\u00a0<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\">have<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; box-sizing: inherit;\">\u00a0<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\">shorter<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; box-sizing: inherit;\">\u00a0pause<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif;\">s in between journeys or be resting during a\u00a0<\/span><span style=\"color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: bold; box-sizing: inherit;\">break.<\/span><\/p><p>Sometimes a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">duty\u00a0<\/span>is split into two separate\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">duty parts\u00a0<\/span>with a several hours long period in between. The<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0driver\u00a0<\/span>is not under the\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">operator<\/span>\u2019s responsibility during that period.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag04-1.png\" sizes=\"(max-width: 735px) 100vw, 735px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag04-1.png 1020w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag04-1-300x163.png 300w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag04-1-768x418.png 768w\" alt=\"\" width=\"735\" height=\"400\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 16: Duty<\/em><\/span><\/p><p>Typically, the\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">driver<\/span>\u00a0works different\u00a0<strong><span style=\"box-sizing: inherit;\">dut<\/span>ies<\/strong> on different dates. The process of deciding what a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">driver<\/span>\u00a0shall do on different dates is called rostering.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag03-1.png\" sizes=\"(max-width: 817px) 100vw, 817px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag03-1.png 1016w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag03-1-300x110.png 300w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag03-1-768x282.png 768w\" alt=\"\" width=\"817\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 17: Example of rostering<\/em><\/span><\/p><h2>Transmodel \u2013 Production perspective vs passenger perspective<\/h2><p>There are many aspects to public transport. From one point of view, the production perspective, it is very important to emphasize optimal usage of vehicles and drivers. From another point of view, the travellers\u2019 perspective, it is the travel opportunities that are in focus.<\/p><p>When building systems catering for different users it is an advantage that Transmodel is organized in such a way that is easy to separate these aspects.<\/p><p>Some examples of production centric aspects are managing<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0block<\/span>s<span style=\"box-sizing: inherit; font-weight: bold;\">, duti<\/span>es<span style=\"box-sizing: inherit; font-weight: bold;\">, vehicle<\/span>s<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0and driver<\/span>s<span style=\"box-sizing: inherit; font-weight: bold;\">.<\/span>\u00a0Examples of traveller-centric aspects are\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">trip<\/span>s<span style=\"box-sizing: inherit; font-weight: bold;\">, ride<\/span>s<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0and interchange<\/span>s.<\/p><p>Additionally, there are of course a large number of aspects that are shared.<\/p><h2>Transmodel \u2013 Layered solutions and separating maintenance<\/h2><p>Transmodel promotes the notion of the separation of concerns as mentioned previously. Different systems and organisations can be allocated responsibility for different types and scopes of information and maintain their respective information independently. The resulting information coming from different sources can then be combined into a unified view. As the information is structured according to Transmodel, it is readily integrated and can be used for many different purposes by different systems.<\/p><p>Systems relating to certain external information use references pointing to information maintained in the relevant system instead of repeating the same information. Different types of information can be maintained with different update cycles.<\/p><p>One example of how this concept can be applied is the\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">route<\/span>.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag07-1.png\" sizes=\"(max-width: 305px) 100vw, 305px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag07-1.png 398w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag07-1-300x295.png 300w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag07-1-60x60.png 60w\" alt=\"\" width=\"305\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><em><span style=\"color: #999999;\">Figure 18: Infrastructure \u2013 road network<\/span><\/em><\/p><p>A\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">route\u00a0<\/span>describes a path to be used by regular public transport services.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag14-1.png\" sizes=\"(max-width: 249px) 100vw, 249px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag14-1.png 348w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag14-1-249x300.png 249w\" alt=\"\" width=\"249\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 19: Route represented by blue line, and deduced physical path on road network represented as dotted red line<\/em><\/span><\/p><p>In relation to a road network a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">route<\/span>\u00a0is defined by a start point and an end point and possible one or more intermediate route points. From this the physical path through the road network can be deduced by a technique called projection. It may be necessary to add a few intermediate\u00a0<i style=\"box-sizing: inherit;\">via<\/i>\u00a0route points to clarify the intended physical path.<\/p><p style=\"box-sizing: inherit; font-size: 15px; font-style: normal; font-weight: 400; margin-bottom: 1.6em; color: #4b4f58; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-variant-ligatures: normal; font-variant-caps: normal;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" style=\"box-sizing: inherit; border-width: 0px; border-style: initial;\" src=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag15-1.png\" sizes=\"(max-width: 294px) 100vw, 294px\" srcset=\"https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag15-1.png 465w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag15-1-294x300.png 294w, https:\/\/transmodel-cen.eu\/wp-content\/uploads\/2019\/10\/tag15-1-60x60.png 60w\" alt=\"\" width=\"294\" height=\"300\" \/><\/p><p style=\"text-align: center;\"><span style=\"color: #999999;\"><em>Figure 20: Adding an intermediate Route Point alters deduced physical path<\/em><\/span><\/p><p>The next step is to define the points where it is possible to board and alight at a bus stop, a platform a gate or a pier. This point is generally represented as a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">scheduled stop point\u00a0<\/span>in the planning software.<\/p><p>There may be some other software that describes the physical aspects of this point. This can include information of exact location, available\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">equipment<\/span>\u00a0and\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">accessibility<\/span>\u00a0aspects.<\/p><p>In the planning software it is possible to define a pattern of working for a vehicle moving from one end point to the other end point by listing a sequence of\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">scheduled stop points.\u00a0<\/span>This is called a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">journey pattern<\/span>.<\/p><h2>Transmodel \u2013 Separating out temporal concerns<\/h2><p>When does a service run? At what times is a particular fare available? Another good example of the separation of concerns in Transmodel is the handling of the days of operation and the availability of time dependent services.<\/p><p>A\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">day type<\/span>\u00a0describes a logical type of day independent of any specific calendar date. For example,\u00a0<i style=\"box-sizing: inherit;\">working day<\/i>,\u00a0<i style=\"box-sizing: inherit;\">weekend<\/i>,\u00a0<i style=\"box-sizing: inherit;\">national holiday<\/i>\u00a0etc. It can be precisely characterised in terms of specific days of the week or other criteria such as\u00a0<i style=\"box-sizing: inherit;\">school day<\/i>\u00a0or\u00a0<i style=\"box-sizing: inherit;\">market day<\/i>. The\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">day type<\/span>\u00a0can be used to specify when a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">service journey, fare product<\/span>\u00a0or other time dependent concept is available in a manner that is easy to understand and also independent of any actual calendar. Timetables and fare products thus become reusable concepts that can be applied within any given time period simply by resolving the day types against a calendar that describes to which dates different\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">day typ<\/span><b><span style=\"box-sizing: inherit;\">e<\/span>s<\/b> apply. Thus, for example, if January 5, 2019 is marked as a\u00a0<i style=\"box-sizing: inherit;\">working day<\/i>\u00a0in that calendar, services with a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">day type<\/span>\u00a0of\u00a0<i style=\"box-sizing: inherit;\">working day<\/i>\u00a0apply.<\/p><p>When it comes to implementing systems, the separating of concerns has two particular advantages. Firstly, it increases reusability, as components are highly modular and may be used to provide the same function in different contexts uniformly and without additional overhead (as say,\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">day types<\/span>\u00a0above can be used both for timetables and fares). Secondly it makes it easier to evolve systems because specific function is concentrated in specific components and modules and can be changed without unwanted side effects.<\/p><h2>Transmodel \u2013 Fares: Using new abstractions to achieve general solutions<\/h2><p>Quite often, a proper separation of concerns requires the invention of novel abstractions that serve to simplify or to generalise the solution. The introduction of new software abstractions can be extremely powerful and make hitherto difficult problems tractable. A classic example from the history of personal computers was how the usability of computers was revolutionised by the invention of the virtual concepts that make up a graphic user interface \u2013 windows, icons, menus, cursor focus, mouse pointer events, etc. New components can enable new, more understandable solutions.<\/p><p>Within Transmodel, the Tariff and Fare models provide a case in point where such an approach has been critical for achieving a general solution. Transmodel formulates a general-purpose Fare Management model that is capable of describing a very wide variety of tariff structures and fare conditions and fare products for any mode of transport, including complex price structures and complex usage conditions.<\/p><p>The tariff components make use of the same existing network concepts that are used in timetables, such as\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">scheduled stop points, service journeys,<\/span>\u00a0etc&#8230; while also adding additional concepts. For example, for a point-to-point fare, the allowed transition between an origin and destination point is defined as a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">destination matrix element.\u00a0<\/span>If the tariff depends on distance or stages consumed, a set of unit intervals may be defined as\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">geographical unit intervals.\u00a0<\/span>Fare products can be associated with a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">type of travel document<\/span>\u00a0(i.e. ticket media such as paper or smartcard) in a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">sales offer package<\/span>\u00a0that can be purchased by the user.<\/p><p>A further separation of concern is that Transmodel completely segregates the notion of price from that which is being priced.<\/p><h2>Transmodel \u2013 Version management<\/h2><p>When exchanging data sets repeatedly between systems, it is important to be able to determine the validity and relevance of successive versions of the data as they evolve over time.<\/p><p>Transmodel provides concepts for advanced versioning mechanisms that allow data to be changed over time while retaining identifiers that are stable over time for the involved objects.<\/p><p>Objects can also be grouped into coherent bundles \u2013\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">version frames<\/span>\u00a0\u2013 which simplifies the process of applying multiple changes as one transaction.<\/p><p>For example, a\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">version frame<\/span>\u00a0may relate to all\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">service journey<\/span>s on a specific\u00a0<span style=\"box-sizing: inherit; font-weight: bold;\">line\u00a0<\/span>or all<span style=\"box-sizing: inherit; font-weight: bold;\">\u00a0scheduled stop points<\/span>\u00a0in a specific municipality.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Transmodel at a glance Transmodel is a conceptual data model describing in terms of data structures (entities and relationships between them) the domain of Public Transport.\u00a0 It may be used for several purposes, in particular to specify a data base or data exchange formats that enable the sharing and provision of accurate and interoperable public [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-28","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/pages\/28","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/comments?post=28"}],"version-history":[{"count":73,"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/pages\/28\/revisions"}],"predecessor-version":[{"id":3241,"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/pages\/28\/revisions\/3241"}],"wp:attachment":[{"href":"https:\/\/transmodel-cen.eu\/index.php\/wp-json\/wp\/v2\/media?parent=28"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}