<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>http://string.drv.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Holtermp</id>
		<title>DRV STRING - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="http://string.drv.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Holtermp"/>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php/Spezial:Beitr%C3%A4ge/Holtermp"/>
		<updated>2026-05-09T18:39:30Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=612</id>
		<title>Developers Area</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=612"/>
				<updated>2019-10-15T11:03:53Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== TODOs for the upcoming &amp;quot;Developer Camp&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
* Create proof of concept application with STRING. &lt;br /&gt;
** Amadeus creates frontend (Martin)&lt;br /&gt;
** DaVinci / Phoenix Unlimited run as backends &lt;br /&gt;
* Create consistent style guide and apply to schemas&lt;br /&gt;
* Discuss authorization for STRING &lt;br /&gt;
** Built-in and/or HTTP based (e.g. OAuth2,...)&lt;br /&gt;
** Describe best/preferred practices&lt;br /&gt;
* Create external lists in for non trivial enums &lt;br /&gt;
** Reference and document in schema&lt;br /&gt;
** Make downloadable from wiki&lt;br /&gt;
* Documentation&lt;br /&gt;
** Further completion of in-schema documentation&lt;br /&gt;
** Further completion of wiki documentation&lt;br /&gt;
** Reference wiki documentation in schema where applicable&lt;br /&gt;
** Describe different architectural models when working with envelopes and payloads.&lt;br /&gt;
** Desribe standard workflow template&lt;br /&gt;
* Model and document ConfigurationRequest and ConfigurationResponse&lt;br /&gt;
* Discuss payment models&lt;br /&gt;
* Create table or graph of possible request-response sequences&lt;br /&gt;
* Simulate/Test workflow for cruises (Desktop Test)&lt;br /&gt;
* Create JIRA backlog for the tasks that cannot be completed&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=608</id>
		<title>Developers Area</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=608"/>
				<updated>2019-10-14T15:20:04Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== TODOs for the upcoming &amp;quot;Developer Camp&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
* Create proof of concept application with STRING. &lt;br /&gt;
** Amadeus creates frontend (Martin)&lt;br /&gt;
** DaVinci / Phoenix Unlimited run as backends &lt;br /&gt;
* Create consistent style guide and apply to schemas&lt;br /&gt;
* Discuss authorization for STRING &lt;br /&gt;
** Built-in and/or HTTP based (e.g. OAuth2,...)&lt;br /&gt;
** Describe best/preferred practices&lt;br /&gt;
* Create external lists in for non trivial enums &lt;br /&gt;
** Reference and document in schema&lt;br /&gt;
** Make downloadable from wiki&lt;br /&gt;
* Documentation&lt;br /&gt;
** Further completion of in-schema documentation&lt;br /&gt;
** Further completion of wiki documentation&lt;br /&gt;
** Reference wiki documentation in schema where applicable&lt;br /&gt;
** Desribe standard workflow template&lt;br /&gt;
* Model and document ConfigurationRequest and ConfigurationResponse&lt;br /&gt;
* Discuss payment models&lt;br /&gt;
* Create table or graph of possible request-response sequences&lt;br /&gt;
* Simulate/Test workflow for cruises (Desktop Test)&lt;br /&gt;
* Create JIRA backlog for the tasks that cannot be completed&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=606</id>
		<title>Developers Area</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=606"/>
				<updated>2019-10-14T14:26:37Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== TODOs for the upcoming &amp;quot;Developer Camp&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
* Create proof of concept application with STRING. &lt;br /&gt;
** Amadeus creates frontend (Martin)&lt;br /&gt;
** DaVinci / Phoenix Unlimited run as backends &lt;br /&gt;
* Create consistent style guide and apply to schemas&lt;br /&gt;
* Discuss authorization for STRING &lt;br /&gt;
** Built-in and/or HTTP based (e.g. OAuth2,...)&lt;br /&gt;
** Describe best/preferred practices&lt;br /&gt;
* Create external lists in for non trivial enums &lt;br /&gt;
** Reference and document in schema&lt;br /&gt;
** Make downloadable from wiki&lt;br /&gt;
* Documentation&lt;br /&gt;
** Further completion of in-schema documentation&lt;br /&gt;
** Further completion of wiki documentation&lt;br /&gt;
** Reference wiki documentation in schema where applicable&lt;br /&gt;
* Model and document ConfigurationRequest and ConfigurationResponse&lt;br /&gt;
* Create table or graph of possible request-response sequences&lt;br /&gt;
* Simulate/Test workflow for cruises (Desktop Test)&lt;br /&gt;
* Create JIRA backlog for the tasks that cannot be completed&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=605</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=605"/>
				<updated>2019-09-25T19:28:19Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:DRV-Basislogo WEB-mittel.png]]&lt;br /&gt;
&lt;br /&gt;
'''Herzlich Willkommen bei STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
Dies ist die offizielle Projektseite des DRV STRING-Projektes. Die nachfolgenden Informationen stehen allen Interessierten zur Verfügung, eine Anmeldung für das Lesen der Informationen ist nicht erforderlich. Wenn Sie sich für eine Mitarbeit an diesem Projekt interessieren und Beiträge auf dieser Website kommentieren möchten, ist vorab eine Registrierung erforderlich (siehe [[Mitarbeit]]).&lt;br /&gt;
&lt;br /&gt;
Die Projektseite ist als Wiki angelegt worden. Hinweise zur Benutzung der zugrunde liegenden Software finden Sie im [//meta.wikimedia.org/wiki/Help:Contents Benutzerhandbuch].&lt;br /&gt;
&lt;br /&gt;
Die übergeordneten Projektinformationen zu Projektziel und –ablauf werden sowohl in Deutsch als auch auf Englisch veröffentlicht. Alle weiteren Dokumente, insbesondere Arbeitsdokumente, werden ausschließlich auf Englisch publiziert.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | Über DRV STRING]] - Beschreibung des STRING-Projektes (Deutsch/Englisch)&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Öffentliche Mailverteiler] zu STRING&lt;br /&gt;
* [[Schemata]] - Die XSD-Schemata, Dokumentation und Diskussion (Englisch)&lt;br /&gt;
* [[Releases]] - Übersicht / Download der freigegebenen Versionen (Englisch)&lt;br /&gt;
* [[Documentation]] - Dokumentation der Schnittstelle, Empfehlungen zur Umsetzung (Deutsch?/Englisch)&lt;br /&gt;
* [[Use Cases]] - Anwendungsfälle für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Mitarbeit]] - Hinweise zur Mitarbeit, Arbeitsumgebung, Berechtigungskonzept (Englisch)&lt;br /&gt;
* [[Abfragen]] - Abfragen zur Ermittlung von Anforderungen seitens der Reiseveranstalter (Deutsch)&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Unser Ticketsystem ist öffentlich einsehbar (Englisch)&lt;br /&gt;
* [[License | Lizenz-Informationen]] für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Change Requests]] - Verzeichnis der Change Requests (Englisch)&lt;br /&gt;
* [[Library:Bibliothek | Bibliothek]] - Interne Schnittstellen-Bibliothek (Englisch)&lt;br /&gt;
* [[Developers Area| Entwicklerbereich]] - Bereich für aktive STRING-Entwickler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Welcome to STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
This is the official project wiki for the DRV STRING project. All information are available to everyone interested in the project, no pre-registration neccessary. If you would like to actively participate in the project and want to be able to comment on articles published on this wiki, please register (please see [[Mitarbeit | Participation]]).&lt;br /&gt;
&lt;br /&gt;
This website is based on wiki software. If you should need further instructions on how to use the software pls see the respective [//meta.wikimedia.org/wiki/Help:Contents manual]. Overall project information, e.g. project objectives and procedures, will be published both in German and in English. All further documents, especially documentations, will only be published in English.&lt;br /&gt;
&lt;br /&gt;
== Content ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | About DRV STRING]] - Overall describtion of the STRING project&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Public mailing lists] related to STRING&lt;br /&gt;
* [[Schemata]] - developed XSD-schemes, documentations und discussion&lt;br /&gt;
* [[Releases]] - overview / download of the released versions&lt;br /&gt;
* [[Documentation]] - Interface documentation, recommendations for implementation&lt;br /&gt;
* [[Use Cases]] - collection of use cases for the interface&lt;br /&gt;
* [[Mitarbeit | Participation]] - Usefull information for those interested to join the project and its working environment&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Our ticket system has public read access&lt;br /&gt;
* [http://string.drv.de/license/ License] terms and conditions&lt;br /&gt;
* [[Change Requests]] - List of Change Requests and follow-up information&lt;br /&gt;
* [[Library:Bibliothek | Library]] - collection of documentations of relevant interface descriptions for the travel industry&lt;br /&gt;
* [[Developers Area]] - Area for active in STRING developers&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=604</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=604"/>
				<updated>2019-09-25T19:25:34Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:DRV-Basislogo WEB-mittel.png]]&lt;br /&gt;
&lt;br /&gt;
'''Herzlich Willkommen bei STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
Dies ist die offizielle Projektseite des DRV STRING-Projektes. Die nachfolgenden Informationen stehen allen Interessierten zur Verfügung, eine Anmeldung für das Lesen der Informationen ist nicht erforderlich. Wenn Sie sich für eine Mitarbeit an diesem Projekt interessieren und Beiträge auf dieser Website kommentieren möchten, ist vorab eine Registrierung erforderlich (siehe [[Mitarbeit]]).&lt;br /&gt;
&lt;br /&gt;
Die Projektseite ist als Wiki angelegt worden. Hinweise zur Benutzung der zugrunde liegenden Software finden Sie im [//meta.wikimedia.org/wiki/Help:Contents Benutzerhandbuch].&lt;br /&gt;
&lt;br /&gt;
Die übergeordneten Projektinformationen zu Projektziel und –ablauf werden sowohl in Deutsch als auch auf Englisch veröffentlicht. Alle weiteren Dokumente, insbesondere Arbeitsdokumente, werden ausschließlich auf Englisch publiziert.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | Über DRV STRING]] - Beschreibung des STRING-Projektes (Deutsch/Englisch)&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Öffentliche Mailverteiler] zu STRING&lt;br /&gt;
* [[Schemata]] - Die XSD-Schemata, Dokumentation und Diskussion (Englisch)&lt;br /&gt;
* [[Releases]] - Übersicht / Download der freigegebenen Versionen (Englisch)&lt;br /&gt;
* [[Documentation]] - Dokumentation der Schnittstelle, Empfehlungen zur Umsetzung (Deutsch?/Englisch)&lt;br /&gt;
* [[Use Cases]] - Anwendungsfälle für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Mitarbeit]] - Hinweise zur Mitarbeit, Arbeitsumgebung, Berechtigungskonzept (Englisch)&lt;br /&gt;
* [[Abfragen]] - Abfragen zur Ermittlung von Anforderungen seitens der Reiseveranstalter (Deutsch)&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Unser Ticketsystem ist öffentlich einsehbar (Englisch)&lt;br /&gt;
* [[License | Lizenz-Informationen]] für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Change Requests]] - Verzeichnis der Change Requests (Englisch)&lt;br /&gt;
* [[Library:Bibliothek | Bibliothek]] - Interne Schnittstellen-Bibliothek (Englisch)&lt;br /&gt;
* [[Developers Area| Entwicklerbereich]] - Bereich für angemeldete STRING-Entwickler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Welcome to STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
This is the official project wiki for the DRV STRING project. All information are available to everyone interested in the project, no pre-registration neccessary. If you would like to actively participate in the project and want to be able to comment on articles published on this wiki, please register (please see [[Mitarbeit | Participation]]).&lt;br /&gt;
&lt;br /&gt;
This website is based on wiki software. If you should need further instructions on how to use the software pls see the respective [//meta.wikimedia.org/wiki/Help:Contents manual]. Overall project information, e.g. project objectives and procedures, will be published both in German and in English. All further documents, especially documentations, will only be published in English.&lt;br /&gt;
&lt;br /&gt;
== Content ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | About DRV STRING]] - Overall describtion of the STRING project&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Public mailing lists] related to STRING&lt;br /&gt;
* [[Schemata]] - developed XSD-schemes, documentations und discussion&lt;br /&gt;
* [[Releases]] - overview / download of the released versions&lt;br /&gt;
* [[Documentation]] - Interface documentation, recommendations for implementation&lt;br /&gt;
* [[Use Cases]] - collection of use cases for the interface&lt;br /&gt;
* [[Mitarbeit | Participation]] - Usefull information for those interested to join the project and its working environment&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Our ticket system has public read access&lt;br /&gt;
* [http://string.drv.de/license/ License] terms and conditions&lt;br /&gt;
* [[Change Requests]] - List of Change Requests and follow-up information&lt;br /&gt;
* [[Library:Bibliothek | Library]] - collection of documentations of relevant interface descriptions for the travel industry&lt;br /&gt;
* [[Developers Area]] - Area for logged in STRING developers&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=602</id>
		<title>Developers Area</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=602"/>
				<updated>2019-09-25T19:23:56Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Holtermp verschob die Seite Developers' nach Developers Area&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== TODOs for the upcoming &amp;quot;Developer Camp&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
* Create proof of concept application wiht STRING. &lt;br /&gt;
** Amadeus creates frontend (Martin)&lt;br /&gt;
** DaVinci / Phoenix Unlimited run as backends &lt;br /&gt;
* Create consistent style guide and apply to schemas&lt;br /&gt;
* Discuss authorization for STRING &lt;br /&gt;
** Built-in and/or HTTP based (e.g. OAuth2,...)&lt;br /&gt;
** Describe best/preferred practices&lt;br /&gt;
* Create external lists in for non trivial enums &lt;br /&gt;
** Reference and document in schema&lt;br /&gt;
** Make downloadable from wiki&lt;br /&gt;
* Documentation&lt;br /&gt;
** Further completion of in-schema documentation&lt;br /&gt;
** Further completion of wiki documentation&lt;br /&gt;
** Reference wiki documentation in schema where applicable&lt;br /&gt;
* Model and document ConfigurationRequest and ConfigurationResponse&lt;br /&gt;
* Create table or graph of possible request-response sequences&lt;br /&gt;
* Simulate/Test workflow for cruises (Desktop Test)&lt;br /&gt;
* Create JIRA backlog for the tasks that cannot be completed&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Developers%27&amp;diff=603</id>
		<title>Developers'</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Developers%27&amp;diff=603"/>
				<updated>2019-09-25T19:23:56Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Holtermp verschob die Seite Developers' nach Developers Area&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#WEITERLEITUNG [[Developers Area]]&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=601</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=601"/>
				<updated>2019-09-25T19:23:26Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:DRV-Basislogo WEB-mittel.png]]&lt;br /&gt;
&lt;br /&gt;
'''Herzlich Willkommen bei STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
Dies ist die offizielle Projektseite des DRV STRING-Projektes. Die nachfolgenden Informationen stehen allen Interessierten zur Verfügung, eine Anmeldung für das Lesen der Informationen ist nicht erforderlich. Wenn Sie sich für eine Mitarbeit an diesem Projekt interessieren und Beiträge auf dieser Website kommentieren möchten, ist vorab eine Registrierung erforderlich (siehe [[Mitarbeit]]).&lt;br /&gt;
&lt;br /&gt;
Die Projektseite ist als Wiki angelegt worden. Hinweise zur Benutzung der zugrunde liegenden Software finden Sie im [//meta.wikimedia.org/wiki/Help:Contents Benutzerhandbuch].&lt;br /&gt;
&lt;br /&gt;
Die übergeordneten Projektinformationen zu Projektziel und –ablauf werden sowohl in Deutsch als auch auf Englisch veröffentlicht. Alle weiteren Dokumente, insbesondere Arbeitsdokumente, werden ausschließlich auf Englisch publiziert.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | Über DRV STRING]] - Beschreibung des STRING-Projektes (Deutsch/Englisch)&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Öffentliche Mailverteiler] zu STRING&lt;br /&gt;
* [[Schemata]] - Die XSD-Schemata, Dokumentation und Diskussion (Englisch)&lt;br /&gt;
* [[Releases]] - Übersicht / Download der freigegebenen Versionen (Englisch)&lt;br /&gt;
* [[Documentation]] - Dokumentation der Schnittstelle, Empfehlungen zur Umsetzung (Deutsch?/Englisch)&lt;br /&gt;
* [[Use Cases]] - Anwendungsfälle für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Mitarbeit]] - Hinweise zur Mitarbeit, Arbeitsumgebung, Berechtigungskonzept (Englisch)&lt;br /&gt;
* [[Abfragen]] - Abfragen zur Ermittlung von Anforderungen seitens der Reiseveranstalter (Deutsch)&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Unser Ticketsystem ist öffentlich einsehbar (Englisch)&lt;br /&gt;
* [[License | Lizenz-Informationen]] für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Change Requests]] - Verzeichnis der Change Requests (Englisch)&lt;br /&gt;
* [[Library:Bibliothek | Bibliothek]] - Interne Schnittstellen-Bibliothek (Englisch)&lt;br /&gt;
* [[Developers'  | Entwicklerbereich]] - Bereich für angemeldete STRING-Entwickler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Welcome to STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
This is the official project wiki for the DRV STRING project. All information are available to everyone interested in the project, no pre-registration neccessary. If you would like to actively participate in the project and want to be able to comment on articles published on this wiki, please register (please see [[Mitarbeit | Participation]]).&lt;br /&gt;
&lt;br /&gt;
This website is based on wiki software. If you should need further instructions on how to use the software pls see the respective [//meta.wikimedia.org/wiki/Help:Contents manual]. Overall project information, e.g. project objectives and procedures, will be published both in German and in English. All further documents, especially documentations, will only be published in English.&lt;br /&gt;
&lt;br /&gt;
== Content ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | About DRV STRING]] - Overall describtion of the STRING project&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Public mailing lists] related to STRING&lt;br /&gt;
* [[Schemata]] - developed XSD-schemes, documentations und discussion&lt;br /&gt;
* [[Releases]] - overview / download of the released versions&lt;br /&gt;
* [[Documentation]] - Interface documentation, recommendations for implementation&lt;br /&gt;
* [[Use Cases]] - collection of use cases for the interface&lt;br /&gt;
* [[Mitarbeit | Participation]] - Usefull information for those interested to join the project and its working environment&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Our ticket system has public read access&lt;br /&gt;
* [http://string.drv.de/license/ License] terms and conditions&lt;br /&gt;
* [[Change Requests]] - List of Change Requests and follow-up information&lt;br /&gt;
* [[Library:Bibliothek | Library]] - collection of documentations of relevant interface descriptions for the travel industry&lt;br /&gt;
* [[Developers']] - Area for logged in STRING developers&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=600</id>
		<title>Developers Area</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=600"/>
				<updated>2019-09-25T19:17:21Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== TODOs for the upcoming &amp;quot;Developer Camp&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
* Create proof of concept application wiht STRING. &lt;br /&gt;
** Amadeus creates frontend (Martin)&lt;br /&gt;
** DaVinci / Phoenix Unlimited run as backends &lt;br /&gt;
* Create consistent style guide and apply to schemas&lt;br /&gt;
* Discuss authorization for STRING &lt;br /&gt;
** Built-in and/or HTTP based (e.g. OAuth2,...)&lt;br /&gt;
** Describe best/preferred practices&lt;br /&gt;
* Create external lists in for non trivial enums &lt;br /&gt;
** Reference and document in schema&lt;br /&gt;
** Make downloadable from wiki&lt;br /&gt;
* Documentation&lt;br /&gt;
** Further completion of in-schema documentation&lt;br /&gt;
** Further completion of wiki documentation&lt;br /&gt;
** Reference wiki documentation in schema where applicable&lt;br /&gt;
* Model and document ConfigurationRequest and ConfigurationResponse&lt;br /&gt;
* Create table or graph of possible request-response sequences&lt;br /&gt;
* Simulate/Test workflow for cruises (Desktop Test)&lt;br /&gt;
* Create JIRA backlog for the tasks that cannot be completed&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=599</id>
		<title>Developers Area</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Developers_Area&amp;diff=599"/>
				<updated>2019-09-25T18:57:31Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Leere Seite erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=598</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Hauptseite&amp;diff=598"/>
				<updated>2019-09-25T18:54:10Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:DRV-Basislogo WEB-mittel.png]]&lt;br /&gt;
&lt;br /&gt;
'''Herzlich Willkommen bei STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
Dies ist die offizielle Projektseite des DRV STRING-Projektes. Die nachfolgenden Informationen stehen allen Interessierten zur Verfügung, eine Anmeldung für das Lesen der Informationen ist nicht erforderlich. Wenn Sie sich für eine Mitarbeit an diesem Projekt interessieren und Beiträge auf dieser Website kommentieren möchten, ist vorab eine Registrierung erforderlich (siehe [[Mitarbeit]]).&lt;br /&gt;
&lt;br /&gt;
Die Projektseite ist als Wiki angelegt worden. Hinweise zur Benutzung der zugrunde liegenden Software finden Sie im [//meta.wikimedia.org/wiki/Help:Contents Benutzerhandbuch].&lt;br /&gt;
&lt;br /&gt;
Die übergeordneten Projektinformationen zu Projektziel und –ablauf werden sowohl in Deutsch als auch auf Englisch veröffentlicht. Alle weiteren Dokumente, insbesondere Arbeitsdokumente, werden ausschließlich auf Englisch publiziert.&lt;br /&gt;
&lt;br /&gt;
== Inhalt ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | Über DRV STRING]] - Beschreibung des STRING-Projektes (Deutsch/Englisch)&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Öffentliche Mailverteiler] zu STRING&lt;br /&gt;
* [[Schemata]] - Die XSD-Schemata, Dokumentation und Diskussion (Englisch)&lt;br /&gt;
* [[Releases]] - Übersicht / Download der freigegebenen Versionen (Englisch)&lt;br /&gt;
* [[Documentation]] - Dokumentation der Schnittstelle, Empfehlungen zur Umsetzung (Deutsch?/Englisch)&lt;br /&gt;
* [[Use Cases]] - Anwendungsfälle für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Mitarbeit]] - Hinweise zur Mitarbeit, Arbeitsumgebung, Berechtigungskonzept (Englisch)&lt;br /&gt;
* [[Abfragen]] - Abfragen zur Ermittlung von Anforderungen seitens der Reiseveranstalter (Deutsch)&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Unser Ticketsystem ist öffentlich einsehbar (Englisch)&lt;br /&gt;
* [[License | Lizenz-Informationen]] für die Schnittstelle (Englisch)&lt;br /&gt;
* [[Change Requests]] - Verzeichnis der Change Requests (Englisch)&lt;br /&gt;
* [[Library:Bibliothek | Bibliothek]] - Interne Schnittstellen-Bibliothek (Englisch)&lt;br /&gt;
* [[Developers'  | Entwicklerbereich]] - Bereich für angemeldete STRING-Entwickler&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Welcome to STRING - STandard Reservation Interface Next Generation'''&lt;br /&gt;
&lt;br /&gt;
This is the official project wiki for the DRV STRING project. All information are available to everyone interested in the project, no pre-registration neccessary. If you would like to actively participate in the project and want to be able to comment on articles published on this wiki, please register (please see [[Mitarbeit | Participation]]).&lt;br /&gt;
&lt;br /&gt;
This website is based on wiki software. If you should need further instructions on how to use the software pls see the respective [//meta.wikimedia.org/wiki/Help:Contents manual]. Overall project information, e.g. project objectives and procedures, will be published both in German and in English. All further documents, especially documentations, will only be published in English.&lt;br /&gt;
&lt;br /&gt;
== Content ==&lt;br /&gt;
&lt;br /&gt;
* [[DRV_STRING:Über_DRV_STRING | About DRV STRING]] - Overall describtion of the STRING project&lt;br /&gt;
* [http://string.drv.de/mailman/listinfo Public mailing lists] related to STRING&lt;br /&gt;
* [[Schemata]] - developed XSD-schemes, documentations und discussion&lt;br /&gt;
* [[Releases]] - overview / download of the released versions&lt;br /&gt;
* [[Documentation]] - Interface documentation, recommendations for implementation&lt;br /&gt;
* [[Use Cases]] - collection of use cases for the interface&lt;br /&gt;
* [[Mitarbeit | Participation]] - Usefull information for those interested to join the project and its working environment&lt;br /&gt;
* [http://string.drv.de/jira/browse/STRING Ticketsystem] - Our ticket system has public read access&lt;br /&gt;
* [http://string.drv.de/license/ License] terms and conditions&lt;br /&gt;
* [[Change Requests]] - List of Change Requests and follow-up information&lt;br /&gt;
* [[Library:Bibliothek | Library]] - collection of documentations of relevant interface descriptions for the travel industry&lt;br /&gt;
* [[Developers' Area]] - Area for logged in STRING developers&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Release_0.4&amp;diff=222</id>
		<title>Diskussion:Release 0.4</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Release_0.4&amp;diff=222"/>
				<updated>2017-03-30T14:04:45Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To get a feel for the API I created a temporary WSDL with two operations &amp;quot;quote&amp;quot; and &amp;quot;book&amp;quot;.&lt;br /&gt;
From this I created a dummy java web application (WAR) using &amp;quot;wsimport&amp;quot; and played around with it a little.&lt;br /&gt;
&lt;br /&gt;
Here are my first impressions and suggestions:&lt;br /&gt;
&lt;br /&gt;
* Generation of code works fine with only one little problem:&lt;br /&gt;
** There are a few abstract types in the definitions, e.g. &amp;quot;StringCommonTravellerType&amp;quot;. This prevented travellers to be created from the input xml request at runtime.&lt;br /&gt;
** So for the time being, I removed all four &amp;quot;abstract=true&amp;quot; statements in my local copy of the xsds. We should look into this.&lt;br /&gt;
* We should get rid of the &amp;quot;String&amp;quot;-Prefix of every type name. &lt;br /&gt;
** It just causes names to be longer without any additional information.&lt;br /&gt;
** It makes code completion features in IDEs difficult to use, if everything starts with &amp;quot;String...&amp;quot;.&lt;br /&gt;
* The same argument applies for the suffix &amp;quot;Type&amp;quot; on many types. &lt;br /&gt;
** We should remove this, too.&lt;br /&gt;
** Example &amp;quot;StringBookingResponseType&amp;quot; -&amp;gt; &amp;quot;BookingResponse&amp;quot;&lt;br /&gt;
* Maybe we can get rid of redundant collection containers, i.e. if we have a ''&amp;lt;services/&amp;gt;'' element we do not need a ''&amp;lt;service/&amp;gt;'' element below that which in turn contains the concrete element ''&amp;lt;Accommodation/&amp;gt;'' . We should eliminate the generic ''&amp;lt;service/&amp;gt;'' element in between:&lt;br /&gt;
&lt;br /&gt;
Currently we have to write:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ns2:Services&amp;gt;&lt;br /&gt;
       &amp;lt;ns2:Service&amp;gt;&lt;br /&gt;
          &amp;lt;ns2:Accommodation&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Identifier&amp;gt;DUMMY_TEST_RESULT&amp;lt;/ns2:Identifier&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:EndDate xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Stay xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/ns2:Accommodation&amp;gt;&lt;br /&gt;
       &amp;lt;/ns2:Service&amp;gt;&lt;br /&gt;
    &amp;lt;/ns2:Services&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;    &lt;br /&gt;
Which could be written more concise as:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ns2:Services&amp;gt;&lt;br /&gt;
          &amp;lt;ns2:Accommodation&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Identifier&amp;gt;DUMMY_TEST_RESULT&amp;lt;/ns2:Identifier&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:EndDate xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Stay xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/ns2:Accommodation&amp;gt;&lt;br /&gt;
    &amp;lt;/ns2:Services&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
I (bachemj) agree to the removal of String* and *Type of type names as they indeed are redundant.&lt;br /&gt;
&lt;br /&gt;
(pholtermann): I also still think the name &amp;quot;String&amp;quot; for the project is problematic. IMHO the association with the programming data type &amp;quot;String&amp;quot; is to strong. (An alternative name could be '''T'''ravel '''A'''pplications '''N'''ext '''G'''eneration '''A'''PI :)&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Release_0.4&amp;diff=220</id>
		<title>Diskussion:Release 0.4</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Release_0.4&amp;diff=220"/>
				<updated>2017-03-27T09:40:28Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To get a feel for the API I created a temporary WSDL with two operations &amp;quot;quote&amp;quot; and &amp;quot;book&amp;quot;.&lt;br /&gt;
From this I created a dummy java web application (WAR) using &amp;quot;wsimport&amp;quot; and played around with it a little.&lt;br /&gt;
&lt;br /&gt;
Here are my first impressions and suggestions:&lt;br /&gt;
&lt;br /&gt;
* Generation of code works fine with only one little problem:&lt;br /&gt;
** There are a few abstract types in the definitions, e.g. &amp;quot;StringCommonTravellerType&amp;quot;. This prevented travellers to be created from the input xml request at runtime.&lt;br /&gt;
** So for the time being, I removed all four &amp;quot;abstract=true&amp;quot; statements in my local copy of the xsds. We should look into this.&lt;br /&gt;
* We should get rid of the &amp;quot;String&amp;quot;-Prefix of every type name. &lt;br /&gt;
** It just causes names to be longer without any additional information.&lt;br /&gt;
** It makes code completion features in IDEs difficult to use, if everything starts with &amp;quot;String...&amp;quot;.&lt;br /&gt;
* The same argument applies for the suffix &amp;quot;Type&amp;quot; on many types. &lt;br /&gt;
** We should remove this, too.&lt;br /&gt;
** Example &amp;quot;StringBookingResponseType&amp;quot; -&amp;gt; &amp;quot;BookingResponse&amp;quot;&lt;br /&gt;
* Maybe we can get rid of redundant collection containers, i.e. if we have a ''&amp;lt;services/&amp;gt;'' element we do not need a ''&amp;lt;service/&amp;gt;'' element below that which in turn contains the concrete element ''&amp;lt;Accommodation/&amp;gt;'' . We should eliminate the generic ''&amp;lt;service/&amp;gt;'' element in between:&lt;br /&gt;
&lt;br /&gt;
Currently we have to write:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ns2:Services&amp;gt;&lt;br /&gt;
       &amp;lt;ns2:Service&amp;gt;&lt;br /&gt;
          &amp;lt;ns2:Accommodation&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Identifier&amp;gt;DUMMY_TEST_RESULT&amp;lt;/ns2:Identifier&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:EndDate xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Stay xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/ns2:Accommodation&amp;gt;&lt;br /&gt;
       &amp;lt;/ns2:Service&amp;gt;&lt;br /&gt;
    &amp;lt;/ns2:Services&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;    &lt;br /&gt;
Which could be written more concise as:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ns2:Services&amp;gt;&lt;br /&gt;
          &amp;lt;ns2:Accommodation&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Identifier&amp;gt;DUMMY_TEST_RESULT&amp;lt;/ns2:Identifier&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:EndDate xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Stay xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/ns2:Accommodation&amp;gt;&lt;br /&gt;
    &amp;lt;/ns2:Services&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Release_0.4&amp;diff=219</id>
		<title>Diskussion:Release 0.4</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Release_0.4&amp;diff=219"/>
				<updated>2017-03-27T09:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: First impressions of prorgamming with the API.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To get a feel for the API I created a temporary WSDL with two operations &amp;quot;quote&amp;quot; and &amp;quot;book&amp;quot;.&lt;br /&gt;
From this I created a dummy java web application (WAR) using &amp;quot;wsimport&amp;quot; and played around with it a little.&lt;br /&gt;
&lt;br /&gt;
Here are my first impressions and suggestions:&lt;br /&gt;
&lt;br /&gt;
* Generation of code works fine with only one little problem:&lt;br /&gt;
** There are a few abstract types in the definitions, e.g. &amp;quot;StringCommonTravellerType&amp;quot;. This prevented travellers to be created from the input xml request at runtime.&lt;br /&gt;
** So for the time being, I removed all four &amp;quot;abstract=true&amp;quot; statements in my local copy of the xsds. We should look into this.&lt;br /&gt;
* We should get rid of the &amp;quot;String&amp;quot;-Prefix of every type name. &lt;br /&gt;
** It just causes names to be longer without any additional information.&lt;br /&gt;
** It makes code completion features in IDEs difficult to use, if everything starts with &amp;quot;String...&amp;quot;.&lt;br /&gt;
* Maybe we can get rid of redundant collection containers, i.e. if we have a ''&amp;lt;services/&amp;gt;'' element we do not need a ''&amp;lt;service/&amp;gt;'' element below that which in turn contains the concrete element ''&amp;lt;Accommodation/&amp;gt;'' . We should eliminate the generic ''&amp;lt;service/&amp;gt;'' element in between:&lt;br /&gt;
&lt;br /&gt;
Currently we have to write:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ns2:Services&amp;gt;&lt;br /&gt;
       &amp;lt;ns2:Service&amp;gt;&lt;br /&gt;
          &amp;lt;ns2:Accommodation&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Identifier&amp;gt;DUMMY_TEST_RESULT&amp;lt;/ns2:Identifier&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:EndDate xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Stay xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/ns2:Accommodation&amp;gt;&lt;br /&gt;
       &amp;lt;/ns2:Service&amp;gt;&lt;br /&gt;
    &amp;lt;/ns2:Services&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;    &lt;br /&gt;
Which could be written more concise as:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;ns2:Services&amp;gt;&lt;br /&gt;
          &amp;lt;ns2:Accommodation&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Identifier&amp;gt;DUMMY_TEST_RESULT&amp;lt;/ns2:Identifier&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:EndDate xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
             &amp;lt;ns2:Stay xsi:nil=&amp;quot;true&amp;quot; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/ns2:Accommodation&amp;gt;&lt;br /&gt;
    &amp;lt;/ns2:Services&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=216</id>
		<title>Use Cases</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=216"/>
				<updated>2017-02-08T16:27:42Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Referenz auf Flugbegriffe eingefügt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
This is the main page for our collection of use cases.&lt;br /&gt;
&lt;br /&gt;
To add a new one please insert a suitable name and then click ''&amp;quot;Create Use Case&amp;quot;'' to launch a new page for your entry. Then fill in the missing sections of the template.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;createarticle&amp;gt;&lt;br /&gt;
 type=createarticle&lt;br /&gt;
 preload=Template:UseCases&lt;br /&gt;
 buttonlabel=Create Use Case&lt;br /&gt;
 align=left&lt;br /&gt;
 default=Please add title&lt;br /&gt;
&amp;lt;/createarticle&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why Use Cases? ==&lt;br /&gt;
&lt;br /&gt;
We aim to create a complete replacement for all transactions which are handled by STADIS and many external extensions today. To do so we have to find out which transactions are needed and what kind of data is exchanged between clients and tour operator systems.&lt;br /&gt;
&lt;br /&gt;
So for a start every action code used today in TOMA-like systems should have at least one assigned use case here (or be deprecated).&lt;br /&gt;
&lt;br /&gt;
The same applies for all proposed extensions of the ''&amp;quot;Anforderungsdefinition&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
See [[Flight Availability (Gerätevakanz)]] for an example of what we need.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Category ===&lt;br /&gt;
&lt;br /&gt;
==== Flight ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
&lt;br /&gt;
*( [[Flugbegriffe]] )&lt;br /&gt;
&lt;br /&gt;
==== Hotel ====&lt;br /&gt;
&lt;br /&gt;
* [[Hotel on Request]]&lt;br /&gt;
&lt;br /&gt;
* [[Book an Accommodation]]&lt;br /&gt;
&lt;br /&gt;
==== Package ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
* [[Package included direct flight, no stops]]&lt;br /&gt;
* [[Stops on outbound- and inbound-flight]]&lt;br /&gt;
&lt;br /&gt;
==== RentalCar ====&lt;br /&gt;
==== Cruise ====&lt;br /&gt;
==== Handling: Booking administration ====&lt;br /&gt;
&lt;br /&gt;
* [[Message Queue]]&lt;br /&gt;
* [[Handling-Preferences (Kundenwünsche)]]&lt;br /&gt;
* [[One-entry-code for a complete package]]&lt;br /&gt;
&lt;br /&gt;
==== Handling: Payment ====&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Action ===&lt;br /&gt;
&lt;br /&gt;
The STRING interface will not use action codes but request/response pairs. We aim however to support all methods of the old interfaces we're superseding as long as they are not deprecated or applicable.&lt;br /&gt;
&lt;br /&gt;
Several action codes might be linked to the same use case when their functionality will be bundled into the same request/response.&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of Examples ====&lt;br /&gt;
&lt;br /&gt;
* B?&lt;br /&gt;
&lt;br /&gt;
==== Vacancies ====&lt;br /&gt;
&lt;br /&gt;
* '''G''' [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
* GF&lt;br /&gt;
* GK&lt;br /&gt;
* GZ&lt;br /&gt;
* H&lt;br /&gt;
* HF&lt;br /&gt;
* HK&lt;br /&gt;
* C&lt;br /&gt;
* CF&lt;br /&gt;
* CK&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Differentiation of an Offer ==== &lt;br /&gt;
&lt;br /&gt;
* HW&lt;br /&gt;
* KW&lt;br /&gt;
* HO&lt;br /&gt;
* HU&lt;br /&gt;
* MW&lt;br /&gt;
* KG/VA&lt;br /&gt;
&lt;br /&gt;
==== Booking Actions ====&lt;br /&gt;
&lt;br /&gt;
* B&lt;br /&gt;
[[Book_single_Flight|Book Flight]]&lt;br /&gt;
&lt;br /&gt;
[[Shopping cart functionality]]&lt;br /&gt;
&lt;br /&gt;
[[Using references to search results in Book]]&lt;br /&gt;
* BC&lt;br /&gt;
* BR&lt;br /&gt;
* BA&lt;br /&gt;
* BK&lt;br /&gt;
* BQ&lt;br /&gt;
* BW&lt;br /&gt;
* BM&lt;br /&gt;
* BT&lt;br /&gt;
* O&lt;br /&gt;
* OC&lt;br /&gt;
* OR&lt;br /&gt;
* OA&lt;br /&gt;
* OQ&lt;br /&gt;
* BS&lt;br /&gt;
* RF&lt;br /&gt;
* PB&lt;br /&gt;
* RS&lt;br /&gt;
* CM&lt;br /&gt;
* ZL&lt;br /&gt;
* ZW&lt;br /&gt;
* KV&lt;br /&gt;
* KS&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* D&lt;br /&gt;
* DR&lt;br /&gt;
* CR&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Modification of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* F&lt;br /&gt;
* FR&lt;br /&gt;
* OV&lt;br /&gt;
* U&lt;br /&gt;
* UR&lt;br /&gt;
* UC&lt;br /&gt;
* UQ&lt;br /&gt;
* S&lt;br /&gt;
* SR&lt;br /&gt;
* SA&lt;br /&gt;
* W&lt;br /&gt;
&lt;br /&gt;
==== Payment Actions ====&lt;br /&gt;
&lt;br /&gt;
* DI&lt;br /&gt;
* DZ&lt;br /&gt;
* KU&lt;br /&gt;
* KX&lt;br /&gt;
* KE&lt;br /&gt;
&lt;br /&gt;
==== Actions for Printing of Vouchers ====&lt;br /&gt;
&lt;br /&gt;
* RA&lt;br /&gt;
&lt;br /&gt;
==== Display of Reservation Lists ====&lt;br /&gt;
&lt;br /&gt;
* V&lt;br /&gt;
&lt;br /&gt;
==== Information ====&lt;br /&gt;
&lt;br /&gt;
* I&lt;br /&gt;
* IP&lt;br /&gt;
* BI&lt;br /&gt;
* DD&lt;br /&gt;
* AI&lt;br /&gt;
* AG&lt;br /&gt;
&lt;br /&gt;
==== Test Actions ====&lt;br /&gt;
&lt;br /&gt;
* TB&lt;br /&gt;
* TD&lt;br /&gt;
* TF&lt;br /&gt;
* TO&lt;br /&gt;
* TS&lt;br /&gt;
* TU&lt;br /&gt;
&lt;br /&gt;
==== Service Actions ====&lt;br /&gt;
&lt;br /&gt;
* +/- (Paging)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Reference to Request Document ===&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Flugbegriffe&amp;diff=215</id>
		<title>Flugbegriffe</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Flugbegriffe&amp;diff=215"/>
				<updated>2017-02-08T16:26:12Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Flugbegriffe updgedatet nach Meeting in FRA am 08.02.2017&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Bestandteile eines Fluges:&lt;br /&gt;
&lt;br /&gt;
* Flug&lt;br /&gt;
** Legs (1-n)&lt;br /&gt;
*** Segmente (1-n)&lt;br /&gt;
&lt;br /&gt;
Ein Flug besteht aus einem (one-way), zwei (outbound-return oder Open-Jaw) oder mehr Legs.&lt;br /&gt;
Jedes Leg besteht aus einem oder mehreren Segmenten.&lt;br /&gt;
&lt;br /&gt;
Jedes Segment hat genau &lt;br /&gt;
* einen Departure Airport&lt;br /&gt;
* einen Arrival Airport&lt;br /&gt;
* eine Flugnummer&lt;br /&gt;
&lt;br /&gt;
Ein Segment ist die kleinste Einheit eines Fluges und kann nicht weiter unterteilt werden.&lt;br /&gt;
Ein Segment kann eine beliebige Anzahl technischer (!) Stops haben, z.B. zum Auftanken. Diese Stops haben eher informativen Charakter. Die Reise kann dort nicht beendete oder unterbrochen werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
* Flug HAM-&amp;gt;SYD , SYD-&amp;gt;HAM&lt;br /&gt;
** Leg 1 Hinflug HAM -&amp;gt; SYD&lt;br /&gt;
*** Segment 1 HAM -&amp;gt; FRA &lt;br /&gt;
*** Segment 2 FRA -&amp;gt; SYD (mit tech. Stop in SIN zum Auftanken)&lt;br /&gt;
** Leg 2 Rückflug SYD -&amp;gt; HAM&lt;br /&gt;
*** Segment 1 SYD -&amp;gt; MUC&lt;br /&gt;
*** Segment 2 MUC -&amp;gt; HAM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Point of Return)&lt;br /&gt;
(Point of Return: Bezeichnet den Arrival Airport des letzten Segments der ersten Legs, somit ist dieses eine redundante Information, insbesondere wenn man mit mit mehr als 2 Legs arbeiten möchte.)&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=214</id>
		<title>Diskussion:Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=214"/>
				<updated>2017-02-08T16:20:14Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: /* Example container with a package and extra rental car */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Michael Althoff remarked:&lt;br /&gt;
''Question/Remark: The project is about the definition of an interface - shopping carts can either be a function of the front end or the inventory system of the tour operator. The interface itself does not provide an own shopping cart. Pls check the use case''&lt;br /&gt;
&lt;br /&gt;
Peter Holtermann:&lt;br /&gt;
This requirement is about the implementation of a shopping cart in the ''the inventory system of the tour operator''.  But to make that accessible through the String-Interface, we need to expose some kind of reference, which is called '''BookingRef''' in the use case. The other additional field '''BookingMode''' is something we need anyway in some way or another.&lt;br /&gt;
&lt;br /&gt;
I do not really care about the wording: We could call the container &amp;quot;Shopping Cart&amp;quot; as well as &amp;quot;Reservation&amp;quot; or &amp;quot;Booking Container&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The important parts are: &lt;br /&gt;
* The interface has to '''contain a reference''' to a container that can contain more than one product. Products could be single products or packages.&lt;br /&gt;
* The Products in the container may have different states.&lt;br /&gt;
&lt;br /&gt;
== Example workflow:==&lt;br /&gt;
&lt;br /&gt;
Find and add a flight&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a hotel&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a rental car&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
** Rental car (ADDED)&lt;br /&gt;
&lt;br /&gt;
Everythings fine? Ok, book all the stuff in the container&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (BOOKED)&lt;br /&gt;
** Hotel PMI (BOOKED)&lt;br /&gt;
** Rental car (BOOKED)&lt;br /&gt;
&lt;br /&gt;
== Example container with a package and extra rental car ==&lt;br /&gt;
* Example Container 2:&lt;br /&gt;
** Package (Flight FRA-PMI/PMI-FRA, Hotel PMI)&lt;br /&gt;
** Rental Car&lt;br /&gt;
&lt;br /&gt;
The whole container/reservation/shopping cart stuff should be an optional feature. Clients could query the the implementing systems via the configuration service, whether they support the feature or not.&lt;br /&gt;
&lt;br /&gt;
Note after experts meeting on 08.02.2017:&lt;br /&gt;
&lt;br /&gt;
* Generally the usage of references to containers and items is considered a good idea.&lt;br /&gt;
* Details will be examined more closely when dealing with the BookingContainer element.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=213</id>
		<title>Diskussion:Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=213"/>
				<updated>2017-02-08T16:19:30Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: /* Example container with a package and extrq rental car */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Michael Althoff remarked:&lt;br /&gt;
''Question/Remark: The project is about the definition of an interface - shopping carts can either be a function of the front end or the inventory system of the tour operator. The interface itself does not provide an own shopping cart. Pls check the use case''&lt;br /&gt;
&lt;br /&gt;
Peter Holtermann:&lt;br /&gt;
This requirement is about the implementation of a shopping cart in the ''the inventory system of the tour operator''.  But to make that accessible through the String-Interface, we need to expose some kind of reference, which is called '''BookingRef''' in the use case. The other additional field '''BookingMode''' is something we need anyway in some way or another.&lt;br /&gt;
&lt;br /&gt;
I do not really care about the wording: We could call the container &amp;quot;Shopping Cart&amp;quot; as well as &amp;quot;Reservation&amp;quot; or &amp;quot;Booking Container&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The important parts are: &lt;br /&gt;
* The interface has to '''contain a reference''' to a container that can contain more than one product. Products could be single products or packages.&lt;br /&gt;
* The Products in the container may have different states.&lt;br /&gt;
&lt;br /&gt;
== Example workflow:==&lt;br /&gt;
&lt;br /&gt;
Find and add a flight&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a hotel&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a rental car&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
** Rental car (ADDED)&lt;br /&gt;
&lt;br /&gt;
Everythings fine? Ok, book all the stuff in the container&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (BOOKED)&lt;br /&gt;
** Hotel PMI (BOOKED)&lt;br /&gt;
** Rental car (BOOKED)&lt;br /&gt;
&lt;br /&gt;
== Example container with a package and extra rental car ==&lt;br /&gt;
* Example Container 2:&lt;br /&gt;
** Package (Flight FRA-PMI/PMI-FRA, Hotel PMI)&lt;br /&gt;
** Rental Car&lt;br /&gt;
&lt;br /&gt;
The whole container/reservation/shopping cart stuff should be an optional feature. Clients could query the the implementing systems via the configuration service, whether they support the feature or not.&lt;br /&gt;
Note after experts meeting on 08.02.2017:&lt;br /&gt;
 -- Generally the usage of references to containers and items is considered a good idea.&lt;br /&gt;
 -- Details will be examined more closely when dealing with the BookingContainer element.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Flugbegriffe&amp;diff=210</id>
		<title>Flugbegriffe</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Flugbegriffe&amp;diff=210"/>
				<updated>2017-02-07T15:06:14Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: DERTOUR Flugbegriffe als Diskussionsgrundlage.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nachfolgend finden Sie die Begriffe, die bei der DERTOURISTIK Frankfurt im Bereich Flug benutzt werden:&lt;br /&gt;
&lt;br /&gt;
* Flug&lt;br /&gt;
** Legs (1-2)&lt;br /&gt;
*** Segmente (1-n)&lt;br /&gt;
* (Point of Return)&lt;br /&gt;
&lt;br /&gt;
Ein buchbarer Flug besteht aus einem (one-way) oder zwei (outbound-return oder Open-Jaw) Legs.&lt;br /&gt;
Jedes Leg besteht aus einem oder mehreren Segmenten.&lt;br /&gt;
&lt;br /&gt;
Jedes Segment hat genau &lt;br /&gt;
* einen Departure Airport&lt;br /&gt;
* einen Arrival Airport&lt;br /&gt;
* eine Flugnummer&lt;br /&gt;
&lt;br /&gt;
Ein Segment kann eine beliebige Anzahl technischer (!) Stops haben, z.B. zum Auftanken.&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
* Flug HAM-&amp;gt;SYD , SYD-&amp;gt;HAM&lt;br /&gt;
** Leg 1 Hinflug HAM -&amp;gt; SYD&lt;br /&gt;
*** Segment 1 HAM -&amp;gt; FRA &lt;br /&gt;
*** Segment 2 FRA -&amp;gt; SYD (mit tech. Stop in SIN zum Auftanken)&lt;br /&gt;
** Leg 2 Rückflug SYD -&amp;gt; HAM&lt;br /&gt;
*** Segment 1 SYD -&amp;gt; MUC&lt;br /&gt;
*** Segment 2 MUC -&amp;gt; HAM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Point of Return: Bezeichnet den Arrival Airport des letzten Segments der ersten Legs, somit ist dieses eine redundante Information)&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=209</id>
		<title>Diskussion:Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=209"/>
				<updated>2017-02-06T14:37:13Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Michael Althoff remarked:&lt;br /&gt;
''Question/Remark: The project is about the definition of an interface - shopping carts can either be a function of the front end or the inventory system of the tour operator. The interface itself does not provide an own shopping cart. Pls check the use case''&lt;br /&gt;
&lt;br /&gt;
Peter Holtermann:&lt;br /&gt;
This requirement is about the implementation of a shopping cart in the ''the inventory system of the tour operator''.  But to make that accessible through the String-Interface, we need to expose some kind of reference, which is called '''BookingRef''' in the use case. The other additional field '''BookingMode''' is something we need anyway in some way or another.&lt;br /&gt;
&lt;br /&gt;
I do not really care about the wording: We could call the container &amp;quot;Shopping Cart&amp;quot; as well as &amp;quot;Reservation&amp;quot; or &amp;quot;Booking Container&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The important parts are: &lt;br /&gt;
* The interface has to '''contain a reference''' to a container that can contain more than one product. Products could be single products or packages.&lt;br /&gt;
* The Products in the container may have different states.&lt;br /&gt;
&lt;br /&gt;
== Example workflow:==&lt;br /&gt;
&lt;br /&gt;
Find and add a flight&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a hotel&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a rental car&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
** Rental car (ADDED)&lt;br /&gt;
&lt;br /&gt;
Everythings fine? Ok, book all the stuff in the container&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (BOOKED)&lt;br /&gt;
** Hotel PMI (BOOKED)&lt;br /&gt;
** Rental car (BOOKED)&lt;br /&gt;
&lt;br /&gt;
== Example container with a package and extrq rental car ==&lt;br /&gt;
* Example Container 2:&lt;br /&gt;
** Package (Flight FRA-PMI/PMI-FRA, Hotel PMI)&lt;br /&gt;
** Rental Car&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The whole container/reservation/shopping cart stuff should be an optional feature. Clients could query the the implementing systems via the configuration service, whether they support the feature or not.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=208</id>
		<title>Diskussion:Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=208"/>
				<updated>2017-02-06T12:59:39Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Michael Althoff remarked:&lt;br /&gt;
''Question/Remark: The project is about the definition of an interface - shopping carts can either be a function of the front end or the inventory system of the tour operator. The interface itself does not provide an own shopping cart. Pls check the use case''&lt;br /&gt;
&lt;br /&gt;
Peter Holtermann:&lt;br /&gt;
This requirement is about the implementation of a shopping cart in the ''the inventory system of the tour operator''.  But to make that accessible through the String-Interface, we need to expose some kind of reference, which is called '''BookingRef''' in the use case. The other additional field '''BookingMode''' is something we need anyway in some way or another.&lt;br /&gt;
&lt;br /&gt;
I do not really care about the wording: We could call the container &amp;quot;Shopping Cart&amp;quot; as well as &amp;quot;Reservation&amp;quot; or &amp;quot;Booking Container&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The important parts are: &lt;br /&gt;
* The interface has to '''contain a reference''' to a container that can contain more than one product. Products could be single products or packages.&lt;br /&gt;
* The Products in the container may have different states.&lt;br /&gt;
&lt;br /&gt;
== Example workflow:==&lt;br /&gt;
&lt;br /&gt;
Find and add a flight&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a hotel&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
&lt;br /&gt;
Find and add a rental car&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (ADDED)&lt;br /&gt;
** Hotel PMI (ADDED)&lt;br /&gt;
** Rental car (ADDED)&lt;br /&gt;
&lt;br /&gt;
Everythings fine? Ok, book all the stuff in the container&lt;br /&gt;
* Container 1 &lt;br /&gt;
** Flight FRA-PMI/PMI-FRA (BOOKED)&lt;br /&gt;
** Hotel PMI (BOOKED)&lt;br /&gt;
** Rental car (BOOKED)&lt;br /&gt;
&lt;br /&gt;
== Example container with a package and an extr rental car ==&lt;br /&gt;
* Example Container 2:&lt;br /&gt;
** Package (Flight FRA-PMI/PMI-FRA, Hotel PMI)&lt;br /&gt;
** Rental Car&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The whole container/reservation/shopping cart stuff should be an optional feature. Clients could query the the implementing systems via the configuration service, whether they support the feature or not.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=204</id>
		<title>Diskussion:Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Diskussion:Shopping_cart_functionality&amp;diff=204"/>
				<updated>2017-01-09T09:25:13Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Die Seite wurde neu angelegt: „Michael Althoff remarked: ''Question/Remark: The project is about the definition of an interface - shopping carts can either be a function of the front end or…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Michael Althoff remarked:&lt;br /&gt;
''Question/Remark: The project is about the definition of an interface - shopping carts can either be a function of the front end or the inventory system of the tour operator. The interface itself does not provide an own shopping cart. Pls check the use case''&lt;br /&gt;
&lt;br /&gt;
Peter Holtermann:&lt;br /&gt;
This requirement is about the implementation of a shopping cart in the ''the inventory system of the tour operator''.  But to make that accessible through the String-Interface, we need to expose some kind of reference, which is called '''BookingRef''' in the use case. The other additional field '''BookingMode''' is something we need anyway in some way or another.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=184</id>
		<title>Use Cases</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=184"/>
				<updated>2016-12-14T15:44:42Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
This is the main page for our collection of use cases.&lt;br /&gt;
&lt;br /&gt;
To add a new one please insert a suitable name and then click ''&amp;quot;Create Use Case&amp;quot;'' to launch a new page for your entry. Then fill in the missing sections of the template.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;createarticle&amp;gt;&lt;br /&gt;
 type=createarticle&lt;br /&gt;
 preload=Template:UseCases&lt;br /&gt;
 buttonlabel=Create Use Case&lt;br /&gt;
 align=left&lt;br /&gt;
 default=Please add title&lt;br /&gt;
&amp;lt;/createarticle&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why Use Cases? ==&lt;br /&gt;
&lt;br /&gt;
We aim to create a complete replacement for all transactions which are handled by STADIS and many external extensions today. To do so we have to find out which transactions are needed and what kind of data is exchanged between clients and tour operator systems.&lt;br /&gt;
&lt;br /&gt;
So for a start every action code used today in TOMA-like systems should have at least one assigned use case here (or be deprecated).&lt;br /&gt;
&lt;br /&gt;
The same applies for all proposed extensions of the ''&amp;quot;Anforderungsdefinition&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
See [[Flight Availability (Gerätevakanz)]] for an example of what we need.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Category ===&lt;br /&gt;
&lt;br /&gt;
==== Flight ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
&lt;br /&gt;
==== Hotel ====&lt;br /&gt;
==== Package ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
&lt;br /&gt;
==== RentalCar ====&lt;br /&gt;
==== Cruise ====&lt;br /&gt;
==== Handling: Booking administration ====&lt;br /&gt;
&lt;br /&gt;
* [[Message Queue]]&lt;br /&gt;
* [[Handling-Preferences (Kundenwünsche)]]&lt;br /&gt;
&lt;br /&gt;
==== Handling: Payment ====&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Action ===&lt;br /&gt;
&lt;br /&gt;
The STRING interface will not use action codes but request/response pairs. We aim however to support all methods of the old interfaces we're superseding as long as they are not deprecated or applicable.&lt;br /&gt;
&lt;br /&gt;
Several action codes might be linked to the same use case when their functionality will be bundled into the same request/response.&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of Examples ====&lt;br /&gt;
&lt;br /&gt;
* B?&lt;br /&gt;
&lt;br /&gt;
==== Vacancies ====&lt;br /&gt;
&lt;br /&gt;
* '''G''' [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
* GF&lt;br /&gt;
* GK&lt;br /&gt;
* GZ&lt;br /&gt;
* H&lt;br /&gt;
* HF&lt;br /&gt;
* HK&lt;br /&gt;
* C&lt;br /&gt;
* CF&lt;br /&gt;
* CK&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Differentiation of an Offer ==== &lt;br /&gt;
&lt;br /&gt;
* HW&lt;br /&gt;
* KW&lt;br /&gt;
* HO&lt;br /&gt;
* HU&lt;br /&gt;
* MW&lt;br /&gt;
* KG/VA&lt;br /&gt;
&lt;br /&gt;
==== Booking Actions ====&lt;br /&gt;
&lt;br /&gt;
* B&lt;br /&gt;
[[Book_single_Flight|Book Flight]]&lt;br /&gt;
&lt;br /&gt;
[[Shopping cart functionality]]&lt;br /&gt;
&lt;br /&gt;
[[Using references to search results in Book]]&lt;br /&gt;
* BC&lt;br /&gt;
* BR&lt;br /&gt;
* BA&lt;br /&gt;
* BK&lt;br /&gt;
* BQ&lt;br /&gt;
* BW&lt;br /&gt;
* BM&lt;br /&gt;
* BT&lt;br /&gt;
* O&lt;br /&gt;
* OC&lt;br /&gt;
* OR&lt;br /&gt;
* OA&lt;br /&gt;
* OQ&lt;br /&gt;
* BS&lt;br /&gt;
* RF&lt;br /&gt;
* PB&lt;br /&gt;
* RS&lt;br /&gt;
* CM&lt;br /&gt;
* ZL&lt;br /&gt;
* ZW&lt;br /&gt;
* KV&lt;br /&gt;
* KS&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* D&lt;br /&gt;
* DR&lt;br /&gt;
* CR&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Modification of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* F&lt;br /&gt;
* FR&lt;br /&gt;
* OV&lt;br /&gt;
* U&lt;br /&gt;
* UR&lt;br /&gt;
* UC&lt;br /&gt;
* UQ&lt;br /&gt;
* S&lt;br /&gt;
* SR&lt;br /&gt;
* SA&lt;br /&gt;
* W&lt;br /&gt;
&lt;br /&gt;
==== Payment Actions ====&lt;br /&gt;
&lt;br /&gt;
* DI&lt;br /&gt;
* DZ&lt;br /&gt;
* KU&lt;br /&gt;
* KX&lt;br /&gt;
* KE&lt;br /&gt;
&lt;br /&gt;
==== Actions for Printing of Vouchers ====&lt;br /&gt;
&lt;br /&gt;
* RA&lt;br /&gt;
&lt;br /&gt;
==== Display of Reservation Lists ====&lt;br /&gt;
&lt;br /&gt;
* V&lt;br /&gt;
&lt;br /&gt;
==== Information ====&lt;br /&gt;
&lt;br /&gt;
* I&lt;br /&gt;
* IP&lt;br /&gt;
* BI&lt;br /&gt;
* DD&lt;br /&gt;
* AI&lt;br /&gt;
* AG&lt;br /&gt;
&lt;br /&gt;
==== Test Actions ====&lt;br /&gt;
&lt;br /&gt;
* TB&lt;br /&gt;
* TD&lt;br /&gt;
* TF&lt;br /&gt;
* TO&lt;br /&gt;
* TS&lt;br /&gt;
* TU&lt;br /&gt;
&lt;br /&gt;
==== Service Actions ====&lt;br /&gt;
&lt;br /&gt;
* +/- (Paging)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Reference to Request Document ===&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=182</id>
		<title>Use Cases</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=182"/>
				<updated>2016-12-14T08:25:21Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
This is the main page for our collection of use cases.&lt;br /&gt;
&lt;br /&gt;
To add a new one please insert a suitable name and then click ''&amp;quot;Create Use Case&amp;quot;'' to launch a new page for your entry. Then fill in the missing sections of the template.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;createarticle&amp;gt;&lt;br /&gt;
 type=createarticle&lt;br /&gt;
 preload=Template:UseCases&lt;br /&gt;
 buttonlabel=Create Use Case&lt;br /&gt;
 align=left&lt;br /&gt;
 default=Please add title&lt;br /&gt;
&amp;lt;/createarticle&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why Use Cases? ==&lt;br /&gt;
&lt;br /&gt;
We aim to create a complete replacement for all transactions which are handled by STADIS and many external extensions today. To do so we have to find out which transactions are needed and what kind of data is exchanged between clients and tour operator systems.&lt;br /&gt;
&lt;br /&gt;
So for a start every action code used today in TOMA-like systems should have at least one assigned use case here (or be deprecated).&lt;br /&gt;
&lt;br /&gt;
The same applies for all proposed extensions of the ''&amp;quot;Anforderungsdefinition&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
See [[Flight Availability (Gerätevakanz)]] for an example of what we need.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Category ===&lt;br /&gt;
&lt;br /&gt;
==== Flight ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
&lt;br /&gt;
==== Hotel ====&lt;br /&gt;
==== Package ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
&lt;br /&gt;
==== RentalCar ====&lt;br /&gt;
==== Cruise ====&lt;br /&gt;
==== Handling: Booking administration ====&lt;br /&gt;
&lt;br /&gt;
* [[Message Queue]]&lt;br /&gt;
&lt;br /&gt;
==== Handling: Payment ====&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Action ===&lt;br /&gt;
&lt;br /&gt;
The STRING interface will not use action codes but request/response pairs. We aim however to support all methods of the old interfaces we're superseding as long as they are not deprecated or applicable.&lt;br /&gt;
&lt;br /&gt;
Several action codes might be linked to the same use case when their functionality will be bundled into the same request/response.&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of Examples ====&lt;br /&gt;
&lt;br /&gt;
* B?&lt;br /&gt;
&lt;br /&gt;
==== Vacancies ====&lt;br /&gt;
&lt;br /&gt;
* '''G''' [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
* GF&lt;br /&gt;
* GK&lt;br /&gt;
* GZ&lt;br /&gt;
* H&lt;br /&gt;
* HF&lt;br /&gt;
* HK&lt;br /&gt;
* C&lt;br /&gt;
* CF&lt;br /&gt;
* CK&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Differentiation of an Offer ==== &lt;br /&gt;
&lt;br /&gt;
* HW&lt;br /&gt;
* KW&lt;br /&gt;
* HO&lt;br /&gt;
* HU&lt;br /&gt;
* MW&lt;br /&gt;
* KG/VA&lt;br /&gt;
&lt;br /&gt;
==== Booking Actions ====&lt;br /&gt;
&lt;br /&gt;
* B&lt;br /&gt;
[[Book Flight]]&lt;br /&gt;
&lt;br /&gt;
[[Shopping cart functionality]]&lt;br /&gt;
&lt;br /&gt;
[[Using references to search results in Book]]&lt;br /&gt;
* BC&lt;br /&gt;
* BR&lt;br /&gt;
* BA&lt;br /&gt;
* BK&lt;br /&gt;
* BQ&lt;br /&gt;
* BW&lt;br /&gt;
* BM&lt;br /&gt;
* BT&lt;br /&gt;
* O&lt;br /&gt;
* OC&lt;br /&gt;
* OR&lt;br /&gt;
* OA&lt;br /&gt;
* OQ&lt;br /&gt;
* BS&lt;br /&gt;
* RF&lt;br /&gt;
* PB&lt;br /&gt;
* RS&lt;br /&gt;
* CM&lt;br /&gt;
* ZL&lt;br /&gt;
* ZW&lt;br /&gt;
* KV&lt;br /&gt;
* KS&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* D&lt;br /&gt;
* DR&lt;br /&gt;
* CR&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Modification of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* F&lt;br /&gt;
* FR&lt;br /&gt;
* OV&lt;br /&gt;
* U&lt;br /&gt;
* UR&lt;br /&gt;
* UC&lt;br /&gt;
* UQ&lt;br /&gt;
* S&lt;br /&gt;
* SR&lt;br /&gt;
* SA&lt;br /&gt;
* W&lt;br /&gt;
&lt;br /&gt;
==== Payment Actions ====&lt;br /&gt;
&lt;br /&gt;
* DI&lt;br /&gt;
* DZ&lt;br /&gt;
* KU&lt;br /&gt;
* KX&lt;br /&gt;
* KE&lt;br /&gt;
&lt;br /&gt;
==== Actions for Printing of Vouchers ====&lt;br /&gt;
&lt;br /&gt;
* RA&lt;br /&gt;
&lt;br /&gt;
==== Display of Reservation Lists ====&lt;br /&gt;
&lt;br /&gt;
* V&lt;br /&gt;
&lt;br /&gt;
==== Information ====&lt;br /&gt;
&lt;br /&gt;
* I&lt;br /&gt;
* IP&lt;br /&gt;
* BI&lt;br /&gt;
* DD&lt;br /&gt;
* AI&lt;br /&gt;
* AG&lt;br /&gt;
&lt;br /&gt;
==== Test Actions ====&lt;br /&gt;
&lt;br /&gt;
* TB&lt;br /&gt;
* TD&lt;br /&gt;
* TF&lt;br /&gt;
* TO&lt;br /&gt;
* TS&lt;br /&gt;
* TU&lt;br /&gt;
&lt;br /&gt;
==== Service Actions ====&lt;br /&gt;
&lt;br /&gt;
* +/- (Paging)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Reference to Request Document ===&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=181</id>
		<title>Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=181"/>
				<updated>2016-12-14T07:45:37Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Shopping cart functionality'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:''' Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a shopping cart functionality like in an online shop. From a customer's point of view the the typical workflow would be:&lt;br /&gt;
&lt;br /&gt;
* While the customer wants to keep on shopping:&lt;br /&gt;
** (1) Search for products (not necessarily part of this interface)&lt;br /&gt;
** If the customer decides to pick a search result:&lt;br /&gt;
*** Customer adds search result to shopping cart.&lt;br /&gt;
*** If the customer continues shopping goto (1) otherwise goto (2)&lt;br /&gt;
* (2) Checkout:&lt;br /&gt;
** Book all items in shopping cart.&lt;br /&gt;
&lt;br /&gt;
The shopping cart functionality should be optional. Implementations of the STRING-Interface are '''not required''' to implement it.&lt;br /&gt;
The configuration query has to show if this mechanism is supported by the operator system.&lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;BookingMode&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;BOOK&amp;lt;/code&amp;gt;: Perform an actual Book (turn the shopping cart into a booking).&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt;: Just add the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt;(s) in the request to the an existing or new shopping Cart&lt;br /&gt;
** ...other modes like optionBooking,...&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to an existing shopping cart or booking&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object has been sucessfully booked&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTED&amp;lt;/code&amp;gt;: Object was just added to&lt;br /&gt;
** ...other status like optionBooking, cancelled...&lt;br /&gt;
'''Check whether we can generalize and reuse the attribute &amp;lt;code&amp;gt;ObjectsVariants/ObjectVariant/Room#Status&amp;lt;/code&amp;gt; for that purpose '''&lt;br /&gt;
&lt;br /&gt;
* Add a Element &amp;lt;code&amp;gt;AvailabilityStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object is available&lt;br /&gt;
** &amp;lt;code&amp;gt;ON_REQUEST&amp;lt;/code&amp;gt;: Object availability can not be confirmed yet&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to this shopping cart or booking in the next workflow step&lt;br /&gt;
&lt;br /&gt;
== Simplified example workflow ==&lt;br /&gt;
&lt;br /&gt;
'''Watch for the new elements :-)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- STEP 1 Put hotel on Lummerland into the shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-10-22&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains a bookingRef on the top level --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 2 Put hotel in South Park into the the same shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;!-- reusing the BookingRef to specify the shopping cart --&amp;gt; &lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-11-12&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains two accomodation objects now --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 3 Check out: Book all items in the cart --&amp;gt;&lt;br /&gt;
&amp;lt;!--if objects are omitted all items int the cart are booked with the given booking mode --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;BOOK&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response now contains two BOOKED accomodation objects --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/OK&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=180</id>
		<title>Using references to search results in Book</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=180"/>
				<updated>2016-12-14T07:44:46Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Using references to search results in Book'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:'''Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Consider the following situation: We have searched for a specific product e.g. a flight. We have selected a search result that we want to book. Sometimes it can be preferable or even necessary to use a reference to the search result instead of entering the description of the product that is to be booked.&lt;br /&gt;
Examples:&lt;br /&gt;
* We search for flights and the airline CRS returns search results containing ids that '''have to be used''' to book the flight.&lt;br /&gt;
* We search for flights and the search result is '''very complex''': departure and arrival location and time, compartment class, booking class for every segment... it might be more convenient to simply reference the search result instead of copying all the search result detailed&lt;br /&gt;
&lt;br /&gt;
The use case is '''independent of the type of search''' that delivered the search result. Examples might be&lt;br /&gt;
* DRV Suchschnittstelle&lt;br /&gt;
* Any kind of tour operater / CRS export&lt;br /&gt;
* Human lookup in a brochure&lt;br /&gt;
&lt;br /&gt;
The use case does '''not require''' any kind of search result to contain an id. But '''if a search result contains''' an id that can be used for booking, the STRING-Booking-Interface should be able to use that by '''referencing that id'''.&lt;br /&gt;
&lt;br /&gt;
The use case makes '''no assumption about the structure''' of the id, any structure might be possible (e.g. UUID, xml, json). Consequently the reference in the StringBookRequest should be CData&lt;br /&gt;
The configuration query has to show if this mechanism is supported by the operator system.&lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
* All attributes in &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; become optional&lt;br /&gt;
* New Element SearchResultReference &amp;lt;code&amp;gt;CDATA&amp;lt;/code&amp;gt;.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;NEC&amp;quot; TravelType=&amp;quot;BETT&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;!-- using a search result reference rather than an object description --&amp;gt;   &lt;br /&gt;
				&amp;lt;SearchResultReference&amp;gt;&lt;br /&gt;
                                     &amp;lt;![CDATA[6ba7b810-9dad-11d1-80b4-00c04fd430c8.]]&amp;gt;&lt;br /&gt;
				&amp;lt;/SearchResultReference&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
No change.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Datei:Release-0.2_diagrams.zip&amp;diff=179</id>
		<title>Datei:Release-0.2 diagrams.zip</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Datei:Release-0.2_diagrams.zip&amp;diff=179"/>
				<updated>2016-12-13T17:41:38Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Unvollständige Visualisierung der Request/ResponseTypen für Accommodation und Flight für Release0.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unvollständige Visualisierung der Request/ResponseTypen für Accommodation und Flight für Release0.2&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=175</id>
		<title>Use Cases</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Use_Cases&amp;diff=175"/>
				<updated>2016-11-24T13:19:58Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
This is the main page for our collection of use cases.&lt;br /&gt;
&lt;br /&gt;
To add a new one please insert a suitable name and then click ''&amp;quot;Create Use Case&amp;quot;'' to launch a new page for your entry. Then fill in the missing sections of the template.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;createarticle&amp;gt;&lt;br /&gt;
 type=createarticle&lt;br /&gt;
 preload=Template:UseCases&lt;br /&gt;
 buttonlabel=Create Use Case&lt;br /&gt;
 align=left&lt;br /&gt;
 default=Please add title&lt;br /&gt;
&amp;lt;/createarticle&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why Use Cases? ==&lt;br /&gt;
&lt;br /&gt;
We aim to create a complete replacement for all transactions which are handled by STADIS and many external extensions today. To do so we have to find out which transactions are needed and what kind of data is exchanged between clients and tour operator systems.&lt;br /&gt;
&lt;br /&gt;
So for a start every action code used today in TOMA-like systems should have at least one assigned use case here (or be deprecated).&lt;br /&gt;
&lt;br /&gt;
The same applies for all proposed extensions of the ''&amp;quot;Anforderungsdefinition&amp;quot;''.&lt;br /&gt;
&lt;br /&gt;
See [[Flight Availability (Gerätevakanz)]] for an example of what we need.&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Category ===&lt;br /&gt;
&lt;br /&gt;
==== Flight ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
&lt;br /&gt;
==== Hotel ====&lt;br /&gt;
==== Package ====&lt;br /&gt;
&lt;br /&gt;
* [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
&lt;br /&gt;
==== RentalCar ====&lt;br /&gt;
==== Cruise ====&lt;br /&gt;
==== Handling: Booking administration ====&lt;br /&gt;
&lt;br /&gt;
* [[Message Queue]]&lt;br /&gt;
&lt;br /&gt;
==== Handling: Payment ====&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Action ===&lt;br /&gt;
&lt;br /&gt;
The STRING interface will not use action codes but request/response pairs. We aim however to support all methods of the old interfaces we're superseding as long as they are not deprecated or applicable.&lt;br /&gt;
&lt;br /&gt;
Several action codes might be linked to the same use case when their functionality will be bundled into the same request/response.&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of Examples ====&lt;br /&gt;
&lt;br /&gt;
* B?&lt;br /&gt;
&lt;br /&gt;
==== Vacancies ====&lt;br /&gt;
&lt;br /&gt;
* '''G''' [[Flight Availability (Gerätevakanz)]]&lt;br /&gt;
* GF&lt;br /&gt;
* GK&lt;br /&gt;
* GZ&lt;br /&gt;
* H&lt;br /&gt;
* HF&lt;br /&gt;
* HK&lt;br /&gt;
* C&lt;br /&gt;
* CF&lt;br /&gt;
* CK&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Differentiation of an Offer ==== &lt;br /&gt;
&lt;br /&gt;
* HW&lt;br /&gt;
* KW&lt;br /&gt;
* HO&lt;br /&gt;
* HU&lt;br /&gt;
* MW&lt;br /&gt;
* KG/VA&lt;br /&gt;
&lt;br /&gt;
==== Booking Actions ====&lt;br /&gt;
&lt;br /&gt;
* B&lt;br /&gt;
[[Book Flight]]&lt;br /&gt;
[[Shopping cart functionality]]&lt;br /&gt;
[[Using references to search results in Book]]&lt;br /&gt;
* BC&lt;br /&gt;
* BR&lt;br /&gt;
* BA&lt;br /&gt;
* BK&lt;br /&gt;
* BQ&lt;br /&gt;
* BW&lt;br /&gt;
* BM&lt;br /&gt;
* BT&lt;br /&gt;
* O&lt;br /&gt;
* OC&lt;br /&gt;
* OR&lt;br /&gt;
* OA&lt;br /&gt;
* OQ&lt;br /&gt;
* BS&lt;br /&gt;
* RF&lt;br /&gt;
* PB&lt;br /&gt;
* RS&lt;br /&gt;
* CM&lt;br /&gt;
* ZL&lt;br /&gt;
* ZW&lt;br /&gt;
* KV&lt;br /&gt;
* KS&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Display of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* D&lt;br /&gt;
* DR&lt;br /&gt;
* CR&lt;br /&gt;
&lt;br /&gt;
==== Actions for the Modification of a Reservation ====&lt;br /&gt;
&lt;br /&gt;
* F&lt;br /&gt;
* FR&lt;br /&gt;
* OV&lt;br /&gt;
* U&lt;br /&gt;
* UR&lt;br /&gt;
* UC&lt;br /&gt;
* UQ&lt;br /&gt;
* S&lt;br /&gt;
* SR&lt;br /&gt;
* SA&lt;br /&gt;
* W&lt;br /&gt;
&lt;br /&gt;
==== Payment Actions ====&lt;br /&gt;
&lt;br /&gt;
* DI&lt;br /&gt;
* DZ&lt;br /&gt;
* KU&lt;br /&gt;
* KX&lt;br /&gt;
* KE&lt;br /&gt;
&lt;br /&gt;
==== Actions for Printing of Vouchers ====&lt;br /&gt;
&lt;br /&gt;
* RA&lt;br /&gt;
&lt;br /&gt;
==== Display of Reservation Lists ====&lt;br /&gt;
&lt;br /&gt;
* V&lt;br /&gt;
&lt;br /&gt;
==== Information ====&lt;br /&gt;
&lt;br /&gt;
* I&lt;br /&gt;
* IP&lt;br /&gt;
* BI&lt;br /&gt;
* DD&lt;br /&gt;
* AI&lt;br /&gt;
* AG&lt;br /&gt;
&lt;br /&gt;
==== Test Actions ====&lt;br /&gt;
&lt;br /&gt;
* TB&lt;br /&gt;
* TD&lt;br /&gt;
* TF&lt;br /&gt;
* TO&lt;br /&gt;
* TS&lt;br /&gt;
* TU&lt;br /&gt;
&lt;br /&gt;
==== Service Actions ====&lt;br /&gt;
&lt;br /&gt;
* +/- (Paging)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Use Cases by Reference to Request Document ===&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=173</id>
		<title>Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=173"/>
				<updated>2016-11-24T13:15:29Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Shopping cart functionality'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:''' Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a shopping cart functionality like in an online shop. From a customer's point of view the the typical workflow would be:&lt;br /&gt;
&lt;br /&gt;
* While the customer wants to keep on shopping:&lt;br /&gt;
** (1) Search for products (not necessarily part of this interface)&lt;br /&gt;
** If the customer decides to pick a search result:&lt;br /&gt;
*** Customer adds search result to shopping cart.&lt;br /&gt;
*** If the customer continues shopping goto (1) otherwise goto (2)&lt;br /&gt;
* (2) Checkout:&lt;br /&gt;
** Book all items in shopping cart.&lt;br /&gt;
&lt;br /&gt;
The shopping cart functionality should be optional. Implementations of the STRING-Interface are '''not required''' to implement it. &lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;BookingMode&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;BOOK&amp;lt;/code&amp;gt;: Perform an actual Book (turn the shopping cart into a booking).&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt;: Just add the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt;(s) in the request to the an existing or new shopping Cart&lt;br /&gt;
** ...other modes like optionBooking,...&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to an existing shopping cart or booking&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object has been sucessfully booked&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTED&amp;lt;/code&amp;gt;: Object was just added to&lt;br /&gt;
** ...other status like optionBooking, cancelled...&lt;br /&gt;
'''Check whether we can generalize and reuse the attribute &amp;lt;code&amp;gt;ObjectsVariants/ObjectVariant/Room#Status&amp;lt;/code&amp;gt; for that purpose '''&lt;br /&gt;
&lt;br /&gt;
* Add a Element &amp;lt;code&amp;gt;AvailabilityStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object is available&lt;br /&gt;
** &amp;lt;code&amp;gt;ON_REQUEST&amp;lt;/code&amp;gt;: Object availability can not be confirmed yet&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to this shopping cart or booking in the next workflow step&lt;br /&gt;
&lt;br /&gt;
== Simplified example workflow ==&lt;br /&gt;
&lt;br /&gt;
'''Watch for the new elements :-)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- STEP 1 Put hotel on Lummerland into the shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-10-22&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains a bookingRef on the top level --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 2 Put hotel in South Park into the the same shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;!-- reusing the BookingRef to specify the shopping cart --&amp;gt; &lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-11-12&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains two accomodation objects now --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 3 Check out: Book all items in the cart --&amp;gt;&lt;br /&gt;
&amp;lt;!--if objects are omitted all items int the cart are booked with the given booking mode --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;BOOK&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response now contains two BOOKED accomodation objects --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/OK&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=172</id>
		<title>Using references to search results in Book</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=172"/>
				<updated>2016-11-24T13:12:46Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Using references to search results in Book'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:'''Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Consider the following situation: We have searched for a specific product e.g. a flight. We have selected a search result that we want to book. Sometimes it can be preferable or even necessary to use a reference to the search result instead of entering the description of the product that is to be booked.&lt;br /&gt;
Examples:&lt;br /&gt;
* We search for flights and the airline CRS returns search results containing ids that '''have to be used''' to book the flight.&lt;br /&gt;
* We search for flights and the search result is '''very complex''': departure and arrival location and time, compartment class, booking class for every segment... it might be more convenient to simply reference the search result instead of copying all the search result detailed&lt;br /&gt;
&lt;br /&gt;
The use case is '''independent of the type of search''' that delivered the search result. Examples might be&lt;br /&gt;
* DRV Suchschnittstelle&lt;br /&gt;
* Any kind of tour operater / CRS export&lt;br /&gt;
* Human lookup in a brochure&lt;br /&gt;
&lt;br /&gt;
The use case does '''not require''' any kind of search result to contain an id. But '''if a search result contains''' an id that can be used for booking, the STRING-Booking-Interface should be able to use that by '''referencing that id'''.&lt;br /&gt;
&lt;br /&gt;
The use case makes '''no assumption about the structure''' of the id, any structure might be possible (e.g. UUID, xml, json). Consequently the reference in the StringBookRequest should be CData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
* All attributes in &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; become optional&lt;br /&gt;
* New Element SearchResultReference &amp;lt;code&amp;gt;CDATA&amp;lt;/code&amp;gt;.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;NEC&amp;quot; TravelType=&amp;quot;BETT&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;!-- using a search result reference rather than an object description --&amp;gt;   &lt;br /&gt;
				&amp;lt;SearchResultReference&amp;gt;&lt;br /&gt;
                                     &amp;lt;![CDATA[6ba7b810-9dad-11d1-80b4-00c04fd430c8.]]&amp;gt;&lt;br /&gt;
				&amp;lt;/SearchResultReference&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
No change.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=171</id>
		<title>Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=171"/>
				<updated>2016-11-23T17:59:00Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Shopping cart functionality'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:''' Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a shopping cart functionality like in an online shop. From a customer's point of view the the typical workflow would be:&lt;br /&gt;
&lt;br /&gt;
* While the customer wants to keep on shopping:&lt;br /&gt;
** (1) Search for products (not necessarily part of this interface)&lt;br /&gt;
** If the customer likes a asearch result:&lt;br /&gt;
*** Customer adds search result to shopping cart.&lt;br /&gt;
*** If the customer keeps on shopping goto (1) otherwise goto (2)&lt;br /&gt;
* (2) Checkout:&lt;br /&gt;
** Book all items in shopping cart.&lt;br /&gt;
&lt;br /&gt;
The shopping cart functionality should be optional. Implementations of the STRING-Interface are '''not required''' to implmement it. &lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;BookingMode&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;BOOK&amp;lt;/code&amp;gt;: Perform an actual Book (turn the shopping cart into a booking).&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt;: Just add the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt;(s) in the request to the an existing or new shopping Cart&lt;br /&gt;
** ...other modes like optionBooking,...&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to an existing shopping cart or booking&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object has been sucessfully booked&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTED&amp;lt;/code&amp;gt;: Object was just added to&lt;br /&gt;
** ...other status like optionBooking, cancelled...&lt;br /&gt;
'''Check whether we can generalize and reuse the attribute &amp;lt;code&amp;gt;ObjectsVariants/ObjectVariant/Room#Status&amp;lt;/code&amp;gt; for that purpose '''&lt;br /&gt;
&lt;br /&gt;
* Add a Element &amp;lt;code&amp;gt;AvailabilityStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object is available&lt;br /&gt;
** &amp;lt;code&amp;gt;ON_REQUEST&amp;lt;/code&amp;gt;: Object availability can not be confirmed yet&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to this shopping cart or booking in the next workflow step&lt;br /&gt;
&lt;br /&gt;
== Simplified example workflow ==&lt;br /&gt;
&lt;br /&gt;
'''Watch for the new elements :-)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- STEP 1 Put hotel on Lummerland into the shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-10-22&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains a bookingRef on the top level --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 2 Put hotel in South Park into the the same shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;!-- reusing the BookingRef to specify the shopping cart --&amp;gt; &lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-11-12&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains two accomodation objects now --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 3 Check out: Book all items in the cart --&amp;gt;&lt;br /&gt;
&amp;lt;!--if objects are omitted all items int the cart are booked with the given booking mode --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;BOOK&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response now contains two BOOKED accomodation objects --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/OK&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=170</id>
		<title>Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=170"/>
				<updated>2016-11-23T17:49:22Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Shopping cart functionality'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:''' Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a shopping cart functionality like in an online shop. From a customer's point of view the the typical workflow would be:&lt;br /&gt;
&lt;br /&gt;
* While not customer satisfied:&lt;br /&gt;
** Search for products (not necessarily part of this interface)&lt;br /&gt;
** if customer likes search result:&lt;br /&gt;
*** add search result to shopping cart.&lt;br /&gt;
* then checkout:&lt;br /&gt;
** book all items in shopping cart.&lt;br /&gt;
&lt;br /&gt;
The shopping cart functionality should be optional. Implementations of the STRING-Interface are '''not required''' to implmement it. &lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;BookingMode&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;BOOK&amp;lt;/code&amp;gt;: Perform an actual Book (turn the shopping cart into a booking).&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt;: Just add the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt;(s) in the request to the an existing or new shopping Cart&lt;br /&gt;
** ...other modes like optionBooking,...&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to an existing shopping cart or booking&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object has been sucessfully booked&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTED&amp;lt;/code&amp;gt;: Object was just added to&lt;br /&gt;
** ...other status like optionBooking, cancelled...&lt;br /&gt;
'''Check whether we can generalize and reuse the attribute &amp;lt;code&amp;gt;ObjectsVariants/ObjectVariant/Room#Status&amp;lt;/code&amp;gt; for that purpose '''&lt;br /&gt;
&lt;br /&gt;
* Add a Element &amp;lt;code&amp;gt;AvailabilityStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object is available&lt;br /&gt;
** &amp;lt;code&amp;gt;ON_REQUEST&amp;lt;/code&amp;gt;: Object availability can not be confirmed yet&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to this shopping cart or booking in the next workflow step&lt;br /&gt;
&lt;br /&gt;
== Simplified example workflow ==&lt;br /&gt;
&lt;br /&gt;
'''Watch for the new elements :-)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- STEP 1 Put hotel on Lummerland into the shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-10-22&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains a bookingRef on the top level --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 2 Put hotel in South Park into the the same shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;!-- reusing the BookingRef to specify the shopping cart --&amp;gt; &lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-11-12&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains two accomodation objects now --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 3 Check out: Book all items in the cart --&amp;gt;&lt;br /&gt;
&amp;lt;!--if objects are omitted all items int the cart are booked with the given booking mode --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;BOOK&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response now contains two BOOKED accomodation objects --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/OK&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=169</id>
		<title>Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=169"/>
				<updated>2016-11-23T17:48:12Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Shopping cart functionality'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:''' Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a shopping cart functionality like in an online shop. From a customer's point of view the the typical workflow would be:&lt;br /&gt;
&lt;br /&gt;
* While not customer satisfied:&lt;br /&gt;
** Search for products (not necessarily part of this interface)&lt;br /&gt;
** if customer likes search result:&lt;br /&gt;
*** add search result to shopping cart.&lt;br /&gt;
* then checkout:&lt;br /&gt;
** book all items in shopping cart.&lt;br /&gt;
&lt;br /&gt;
The shopping cart functionality should be optional. Implementations of the STRING-Interface are '''not required''' to implmement it. &lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;BookingMode&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;BOOK&amp;lt;/code&amp;gt;: Perform an actual Book (turn the shopping cart into a booking).&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt;: Just add the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt;(s) in the request to the an existing or new shopping Cart&lt;br /&gt;
** ...other modes like optionBooking,...&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to an existing shopping cart or booking&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object has been sucessfully booked&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTED&amp;lt;/code&amp;gt;: Object was just added to&lt;br /&gt;
** ...other status like optionBooking, cancelled...&lt;br /&gt;
'''Check whether we generalize and reuse the attribute ObjectsVariants/ObjectVariant/Room#Status for that purpose '''&lt;br /&gt;
&lt;br /&gt;
* Add a Element &amp;lt;code&amp;gt;AvailabilityStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object is available&lt;br /&gt;
** &amp;lt;code&amp;gt;ON_REQUEST&amp;lt;/code&amp;gt;: Object availability can not be confirmed yet&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to this shopping cart or booking in the next workflow step&lt;br /&gt;
&lt;br /&gt;
== Simplified example workflow ==&lt;br /&gt;
&lt;br /&gt;
'''Watch for the new elements :-)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- STEP 1 Put hotel on Lummerland into the shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-10-22&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains a bookingRef on the top level --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 2 Put hotel in South Park into the the same shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;!-- reusing the BookingRef to specify the shopping cart --&amp;gt; &lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-11-12&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains two accomodation objects now --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 3 Check out: Book all items in the cart --&amp;gt;&lt;br /&gt;
&amp;lt;!--if objects are omitted all items int the cart are booked with the given booking mode --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;BOOK&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response now contains two BOOKED accomodation objects --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/OK&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=168</id>
		<title>Shopping cart functionality</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Shopping_cart_functionality&amp;diff=168"/>
				<updated>2016-11-23T17:47:06Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Die Seite wurde neu angelegt: „ Kategorie:UseCases  == Use Case: ''Shopping cart functionality'' ==  '''Module:''' Handling: Booking administration  == Description ==  We would like to h…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Shopping cart functionality'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:''' Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
We would like to have a shopping cart functionality like in an online shop. From a customer's point of view the the typical workflow would be:&lt;br /&gt;
&lt;br /&gt;
* While not customer satisfied:&lt;br /&gt;
** Search for products (not necessarily part of this interface)&lt;br /&gt;
** if customer likes search result:&lt;br /&gt;
*** add search result to shopping cart.&lt;br /&gt;
* then checkout:&lt;br /&gt;
** book all items in shopping cart.&lt;br /&gt;
&lt;br /&gt;
The shopping cart functionality should be optional. Implementations of the STRING-Interface are '''not required''' to implmement it. &lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
&lt;br /&gt;
* Add a &amp;lt;code&amp;gt;BookingMode&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;BOOK&amp;lt;/code&amp;gt;: Perform an actual Book (turn the shopping cart into a booking).&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTE&amp;lt;/code&amp;gt;: Just add the &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt;(s) in the request to the an existing or new shopping Cart&lt;br /&gt;
** ...other modes like optionBooking,...&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookRequest&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to an existing shopping cart or booking&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object has been sucessfully booked&lt;br /&gt;
** &amp;lt;code&amp;gt;QUOTED&amp;lt;/code&amp;gt;: Object was just added to&lt;br /&gt;
** ...other status like optionBooking, cancelled...&lt;br /&gt;
'''Check whether we generalize and reuse the attribute ObjectsVariants/ObjectVariant/Room#Status for that purpose '''&lt;br /&gt;
&lt;br /&gt;
* Add a Element &amp;lt;code&amp;gt;AvailabilityStatus&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ComponentVariant&amp;lt;/code&amp;gt; with the values&lt;br /&gt;
** &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt;: Object is available&lt;br /&gt;
** &amp;lt;code&amp;gt;ON_REQUEST&amp;lt;/code&amp;gt;: Object availability can not be confirmed yet&lt;br /&gt;
&lt;br /&gt;
* Add an element &amp;lt;code&amp;gt;BookingRef&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;StringBookResponse&amp;lt;/code&amp;gt;&lt;br /&gt;
** This can be used to refer to this shopping cart or booking in the next workflow step&lt;br /&gt;
&lt;br /&gt;
== Simplified example workflow ==&lt;br /&gt;
&lt;br /&gt;
'''Watch for the new elements :-)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- STEP 1 Put hotel on Lummerland into the shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-10-22&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains a bookingRef on the top level --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 2 Put hotel in South Park into the the same shopping cart, but do not book it yet --&amp;gt;&lt;br /&gt;
&amp;lt;!-- reusing the BookingRef to specify the shopping cart --&amp;gt; &lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;QUOTE&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Stay Nights=&amp;quot;14&amp;quot; Start=&amp;quot;2017-11-12&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response contains two accomodation objects now --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;QUOTED&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;QUOTED&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- STEP 3 Check out: Book all items in the cart --&amp;gt;&lt;br /&gt;
&amp;lt;!--if objects are omitted alle items are booked with the given booking mode --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingMode&amp;gt;BOOK&amp;lt;/BookingMode&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Response now contains two BOOKED accomodation objects --&amp;gt;&lt;br /&gt;
&amp;lt;StringBookResponse Success=&amp;quot;true&amp;quot; &amp;gt;&lt;br /&gt;
	&amp;lt;BookingRef&amp;gt;1234567890&amp;lt;/BookingRef&amp;gt;&lt;br /&gt;
	&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/OK&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;DER&amp;quot; TravelType=&amp;quot;TOUR&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;01&amp;quot; ProductCode=&amp;quot;LUM12345&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
			&amp;lt;Object PackageIndicator=&amp;quot;false&amp;quot; ID=&amp;quot;02&amp;quot; ProductCode=&amp;quot;SPK54321&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;BookingStatus&amp;gt;OK&amp;lt;/BookingStatus&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
		&amp;lt;ObjectsVariants&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;01&amp;quot; ObjectIDRef=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;DZ&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;999.00&amp;quot; Fares=&amp;quot;666.66&amp;quot; Taxes=&amp;quot;333.33&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
			&amp;lt;ObjectVariant ID=&amp;quot;02&amp;quot; ObjectIDRef=&amp;quot;02&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;Room OpCode=&amp;quot;JS&amp;quot; PassengerIdList=&amp;quot;01 02&amp;quot; Status=&amp;quot;OK&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;BookingInfos&amp;gt;&lt;br /&gt;
						&amp;lt;Price Amount=&amp;quot;300.00&amp;quot; Fares=&amp;quot;200.00&amp;quot; Taxes=&amp;quot;100.00&amp;quot;/&amp;gt;&lt;br /&gt;
					&amp;lt;/BookingInfos&amp;gt;&lt;br /&gt;
				&amp;lt;/Room&amp;gt;&lt;br /&gt;
			&amp;lt;/ObjectVariant&amp;gt;&lt;br /&gt;
		&amp;lt;/ObjectsVariants&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookResponse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=166</id>
		<title>Using references to search results in Book</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=166"/>
				<updated>2016-11-23T15:14:50Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''Using references to search results in Book'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:'''Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Consider the following situation: We have searched for a specific product e.g. a flight. We have selected a search result that we want to book. Sometimes it can be preferable or even necessary to use a reference to the search result than to enter the description of the product that is to be booked.&lt;br /&gt;
Examples:&lt;br /&gt;
* We search for flights and the airline CRS returns search results containing ids that '''have to be used''' to book the flight.&lt;br /&gt;
* We search for flights and the search result is '''very complex''': departure and arrival location and time, compartment class, booking class for every segment... it might be more convenient to simply reference the search result instead of copying all the search result detailed&lt;br /&gt;
&lt;br /&gt;
The use case is '''independent of the type of search''' that delivered the search result. Examples might be&lt;br /&gt;
* DRV Suchschnittstelle&lt;br /&gt;
* Any kind of tour operater / CRS export&lt;br /&gt;
* Human lookup in a brochure&lt;br /&gt;
&lt;br /&gt;
The use case does '''not require''' any kind of search result to contain an id. But '''if a search result contains''' an id that can be used for booking, the STRING-Booking-Interface should be able to use that by '''referencing that id'''.&lt;br /&gt;
&lt;br /&gt;
The use case makes '''no assumption about the structure''' of the id search result, any structure might be possible (e.g. UUID, xml, json). Consequently the reference in the StringBookRequest should be CData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
Changes:&lt;br /&gt;
* All attributes in &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt; become optional&lt;br /&gt;
* New Element SearchResultReference &amp;lt;code&amp;gt;CDATA&amp;lt;/code&amp;gt;.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;StringBookRequest&amp;gt;&lt;br /&gt;
	&amp;lt;Accommodation TourOperatorCode=&amp;quot;NEC&amp;quot; TravelType=&amp;quot;BETT&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;Objects&amp;gt;&lt;br /&gt;
			&amp;lt;Object ID=&amp;quot;01&amp;quot;&amp;gt;&lt;br /&gt;
                                &amp;lt;!-- using a search result reference rather than an object description --&amp;gt;   &lt;br /&gt;
				&amp;lt;SearchResultReference&amp;gt;&lt;br /&gt;
                                     &amp;lt;![CDATA[6ba7b810-9dad-11d1-80b4-00c04fd430c8.]]&amp;gt;&lt;br /&gt;
				&amp;lt;/SearchResultReference&amp;gt;&lt;br /&gt;
			&amp;lt;/Object&amp;gt;&lt;br /&gt;
		&amp;lt;/Objects&amp;gt;&lt;br /&gt;
	&amp;lt;/Accommodation&amp;gt;&lt;br /&gt;
&amp;lt;/StringBookRequest&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
No change.&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	<entry>
		<id>http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=161</id>
		<title>Using references to search results in Book</title>
		<link rel="alternate" type="text/html" href="http://string.drv.de/wiki/index.php?title=Using_references_to_search_results_in_Book&amp;diff=161"/>
				<updated>2016-11-23T14:50:17Z</updated>
		
		<summary type="html">&lt;p&gt;Holtermp: Die Seite wurde neu angelegt: „ Kategorie:UseCases  == Use Case: ''(Using references to search results in Book)'' ==  '''Module:'''Handling: Booking administration  == Description ==  Co…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[Kategorie:UseCases]]&lt;br /&gt;
&lt;br /&gt;
== Use Case: ''(Using references to search results in Book)'' ==&lt;br /&gt;
&lt;br /&gt;
'''Module:'''Handling: Booking administration&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
Consider the following situation: We have searched for a specific product e.g. a flight. We have selected a search result that we want to book. Sometimes it can be preferable or even necessary to use a reference to the search result than to enter the description of the product that is to be booked.&lt;br /&gt;
Examples:&lt;br /&gt;
* We search for flights and the airline CRS returns search results containing ids that '''have to be used''' to book the flight.&lt;br /&gt;
* We search for flights and the search result is '''very complex''': departure and arrival location and time, compartment class, booking class for every segment... it might be more convenient to simply reference the search result instead of copying all the search result detailed&lt;br /&gt;
&lt;br /&gt;
The use case is '''independent of the type of search''' that delivered the search result. Examples might be&lt;br /&gt;
* DRV Suchschnittstelle&lt;br /&gt;
* Any kind of tour operater / CRS export&lt;br /&gt;
* Human lookup in a brochure&lt;br /&gt;
&lt;br /&gt;
The use case makes '''no assumption about the structure''' of the id search result, any structure might be possible (e.g. UUID, xml, json).&lt;br /&gt;
&lt;br /&gt;
The use case does '''not require''' any kind of search result to contain an id. But '''if a search result contains'' an id that can be used for booking, the STRING-Booking-Interface should be able to use that by '''referencing that id'''.&lt;br /&gt;
&lt;br /&gt;
== Request Data ==&lt;br /&gt;
&lt;br /&gt;
== Response Data ==&lt;br /&gt;
  unchanged&lt;/div&gt;</summary>
		<author><name>Holtermp</name></author>	</entry>

	</feed>