Kontingentüberbuchungen
Einleitung
Im Rahmen der Anforderungen von Aldiana wurden Funktionalitäten entwickeln die es erlauben, ein bereits ausgebuchtes Kontingent bis zu einem definierten Limit zu überbuchen.
Überbuchungen dieser Art werden auch als Wartelistenbuchungen bezeichnet und sollen im Kontingent separat angezeigt werden.
Die Anzahl möglicher Überbuchungen pro Kontingent soll limitierbar sein!
Die Darstellung der Wartelisten (Anzahl Überbuchungen) soll getrennt nach der Belegung erfolgen.
Eine Buchung auf Warteliste soll mit dem Kennzeichen „Z" in der Markierungspalte von Genesis ermöglicht werden.
Es war gefordert, dass Leistungen in denen überbuchte Kontingente involviert sind oder waren, diese in der Buchungsoberfläche Genesis mit dem Status „UB" darzustellen.
Falls Überbuchungen in den Vorausbuchungskatalogen bestehen, so müssen diese bei der Umbuchung in die echten Buchungskataloge mit übernommen werden.
Falls Leistungen nur „auf Request" gebucht werden dürfen (Request-Flag ist aktiviert), so dürfen für diese Leistungen keine Überbuchungen angenommen werden.
Die Entwicklung ist ab der Version 1044 in DaVinci vorhanden und wurde in den folgenden Bedevs abgewickelt:
Bedev-Liste
44694 |
(61) Check Überbuchungsüberwachungsfunktionen |
44695 |
(61) Vakanzen negative Werte -> Anzeige = 0 |
44696 |
(61) Zähler für Wartelistenbuchungen |
44697 |
(61) Überbuchung zulassen mit Markierung Z |
44698 |
(61) Kontingentänderung bei bereits erzeugten Wartelistenbuchungen |
44699 |
(61) Stornos bei Kontingentüberbuchungen |
44700 |
(61) Kontingentüberbuchung - Umbuchungen |
44702 |
(61) Kontingentüberbuchung / Request-Buchung |
44703 |
(61) Release-Tage berücksichtigen |
44704 |
(61) Status UB bei Listen |
44846 |
(61) Leistungsstatus "UB" in Genesis anzeigen |
44847 |
(61) Leistungsstatus "UB" in CETS als "OK" anzeigen |
44848 |
(61) Leistungsstatus "UB" in TOMA als "OK" anzeigen |
45317 |
(61) Einstellung in AWGL für Kontingent-Warteliste |
46467 |
(61) Optionsbuchungen/Vorausbuchungen mit UB-Status |
46504 |
(61) WL-Zähleränderungen bei Kontingentänderungen |
46581 |
(61) Fehlermeldung, wenn WL max erreicht |
47245 |
(61) Bei Kontingentverfall am Buchungstag keine Wartelistenbuchng möglich |
47291 |
(61) Überbuchungen bei Batch-Umbucher |
Die Kontingentstammdaten
Überbuchungen sollen im Kontingent in Form eigener Zähler angezeigt werden. Da Überbuchungen auch als Wartelistenbuchungen bezeichnet werden hat man Zähler auf der Programmoberfläche mit „WL" abgekürzt und dargestellt. Die Zähler werden nur im Frame: „Kontingente" oder im Frame „Leistungen" in der Sektion „Kontingente" angezeigt.
In dem Detaildialog für den Kontingenttag („Termine bearbeiten") sind die Zähler nicht sichtbar! Die Anzahl möglicher Überbuchungen kann im Kontingenttag eingestellt werden.
mit dem Wert im Feld: „Anzahl Warteliste" wird die Anzahl möglicher Überbuchungen limitiert.
Es dürfen in diesem Beispiel genau 2 Einheiten mehr gebucht werden, als in der Gesamtzahl eigentlich zur Verfügung stehen.
(Also: 5 Einheiten auf OK und 2 weitere Einheiten mit Status UB.)
Teilbelegungen werden korrekt berücksichtigt. (In diesem Bsp. wären auch 4/2 Zimmer buchbar.)
Eine Limitierung kann aber immer nur auf ganze Einheiten und nicht auf Teilbelegungen definiert werden.
Ist im Feld „Anzahl Warteliste" nichts eingetragen, so kann das Kontingent ohne Limitierung überbucht werden. Soll eine Überbuchung nicht zugelassen werden, so muss hier eine „0" eingetragen werden.
Der Default-Wert kann in den Stammdaten vordefiniert werden:
Die Darstellung der auf Wartelisten gebuchten Einheiten wird getrennt nach der Belegung gezeigt. Diese 3 Spalten sind neu in das Grid aufgenommen worden:
(Vollbelegung , Teilbelegung-Männlich, Teilbelegung-Weiblich)
Grundlagen für Teilbelegungen
Das Verhältnis Teilbelegung zu Einheit wird im Kontingent durch den s. g. „Kontingentfaktor" bestimmt. (Bsp.: Für den Verkauf halber Doppelzimmer wäre der Faktor 2 einzutragen, welcher auch in unseren Tests verwendet wurde. Theoretisch sind auch andere Werte denkbar, z. B. Betten in einer Vierbettkabine würde man mit dem Faktor 4 als Teilbelegung verkaufen können.)
Um aus der Anzahl der Teilbelegungen auf die Anzahl belegter Einheiten zu schließen, muss man noch die mögliche Trennung nach Geschlechtern berücksichtigen. Mit der ersten Teilbelegung männl. gilt eine Einheit als angebrochene Einheit und wird gezählt. Wird zusätzlich eine Teilbelegung weibl. gebucht, so gelten bereits 2 Einheiten als belegt. Ohne Trennung nach Geschlechtern würde nur eine Einheit als belegt angezeigt.
Im Code wird die Eigenschaft gewählt, die bei einer Kontingentbuchung die Teilbelegung anspricht.
Hiermit sind die Vorbereitungen in den Stammdaten erläutert und es wird folgend das Verhalten bei Buchung auf Warteliste erklärt.
Verhalten der Belegt-Zähler bei Buchung auf Warteliste
Um die Zählweise zu erklären wurden für den folgenden Screenshot einige Buchungen gemacht.
Es ist zu sehen, dass 5 Einheiten belegt sind, wovon 2 Einheiten durch Überbuchung des Kontingents entstanden sind. Man beachte, dass der Zähler: „Frei" einen negativen Wert enthält!D. h. eine Überbuchung ist auch allgemein daran zu erkennen, dass die Anzahl Frei < 0 ist.
„WL Belegt" zeigt den Wert ungeteilter Einheiten.
„WL Belegt-M." sowie „WL Belegt-W." zeigen die Anzahl Teilbelegungen (i. d. R. = Personen) unabhängig von den Einheiten. In dem oben gezeigten Beispiel wurden 2 halbe Doppelzimmer an Damen und 2 Doppelzimmer an Herren vergeben. (2+2 Halbbelegungen ergeben zusammen 2 in der Spalte „WL Belegt")
Buchung von Leistungen auf Warteliste
Die Buchung auf Warteliste erfolgt mit einem Kennzeichen „Z" in der Markierungspalte von Genesis.
Es war gefordert, dass Leistungen in denen überbuchte Kontingente involviert sind oder waren, diese in der Buchungsoberfläche Genesis mit dem Status „UB" darzustellen.
Unmittelbar nach der Buchung wird das Z noch angezeigt, allerdings verschwindet es beim anschließenden Darstellen der Buchung. Der Status UB in der Leistung verbleibt, selbst dann wenn sich später die Situation im Kontingent so verändert, dass gar keine Überbuchungen mehr bestehen.
D. h. wenn durch Erhöhung der Gesamtzahl im Kontingent oder durch Stornos bestehender Buchungen auf ein Kontingent die Wartelistenbuchungen abgebaut wurden, so bleiben die UB-Leistungen davon im Status unberührt! (D. h. obwohl eine Warteliste in einem Kontingent auf null steht, tragen einige Leistungen auf dieses Kontingent eventuell noch den Status „UB". )
Daher wird der Leistungsstatus „UB" in Selektionen und Abfragen auch nicht unterstützt.Der Status UB wird dem Status OK gleichgesetzt, was bedeutet, dass der Veranstalter die Verantwortung dafür trägt, dass alle Überbuchungen durch nachträgliche Kontingentbeschaffung abgesichert werden, oder aber der Kunde im Falle einer Nichtbeschaffung benachrichtigt wird und ihm Alternativen angeboten werden.
Im Falle Aldiana werden die Belegt- und Wartelisten-Zähler eines Kontingents an ein externes System exportiert, in dem dann die Kontrolle erfolgt, wann und für welche Wartelisten wie viel weitere Kontingente beschafft werden müssen.
Status-Kombinationen
Request und Warteliste
Ist ein Buchungscode bzw. Kontingent nur (noch) auf Request buchbar und man versucht eine Warteliste zu buchen, wird das nicht zugelassen.
Option und Warteliste
Bucht man statt mit der Aktion B mit der Aktion OP so wird eine Optionsbuchung zugelassen, auch wenn darin Leistungen auf Status UB (Warteliste) enthalten sind.
Reaktionen bei Buchung auf Warteliste
Kontingent vorhanden
… führt zu folgender Meldung:Versuch einer Wartelisten-Buchung wenn das Kontingent nicht erschöpft ist, …
WL-Limit erreicht
… so wird das in Genesis durch eine dedizierte Fehlermeldung im Infoteil angezeigtIst das Kontingent erschöpft und das Limit der Warteliste erreicht, …
Funktionsweise bei Rückgabe von Einheiten
*Achtung!*Beim Abbau der Warteliste (freiwerdende oder erhöhte Kontingente) werden zuerst die Teilbelegung-Männlich, dann die Teilbelegungen-Weiblich und schließlich die Vollbelegungen der Wartelistenzähler reduziert.
Bsp.: Ein normales Kontingent mit 3 Einheiten ist ausgeschöpft. ( siehe 16.01.2010)
Es wurde mit 3 Vollbelegungen ausgebucht (Vorg.: 72). Ferner existieren 4 Teilbelegungen auf Warteliste die 2 Einheiten belegen (Vorgänge: 73-77). Es sind nun insgesamt 5 Einheiten in diesem Kontingenttag belegt. (siehe Teilnehmer bezogen auf einen Kontingenttag)
Folgend soll gezeigt werden, wie bestimmte Buchungen storniert und damit Einheiten im Kontingent wieder frei gegeben werden.
- Bsp.: Der Vorgang 75 mit einer Teilbelegung-Weiblich (Frau-22-Halb) wird storniert
Der Zähler: „WL-Bel. W." wurde erniedrigt, alle anderen Zählerwerte blieben unverändert.
- Bsp.: Der Vorgang 73 mit einer Teilbelegung-Männlich (Herr-20-Halb) wird storniert.
Der Zähler: „WL-Bel. M." und „Bel. M." wurden erniedrigt, alle anderen Zählerwerte blieben unverändert. Da bisher noch keine Einheit komplett frei geworden ist, bleibt der Wert in der Spalte: „Belegt" unverändert. (Das System zählt angebrochene Einheiten als belegt!)
- Bsp.: Der Vorgang 72 mit 3 Doppelzimmern Vollbelegung wird auf 2 Zimmer reduziert.
Nun kommt Bewegung in die Zähler, denn es wurde hiermit eine komplette Einheit im Kontingent freigegeben. In das zurückgegebene Zimmer rutschen (virtuell) alle Teilbelegungen, und zwar in der Reihenfolge: erst Teilbelegungen-Männlich dann Teilb.-Weiblich. Dadurch verändern sich die Zähler wie oben zu sehen:
Belegt = 4, Frei = -1 und WL-Bel. M. = 0
Zum besseren Verständnis ist hier zu sagen, dass das „angebrochene Damen-Zimmer" hier nicht automatisch nach rutscht, denn es wurde ja nur eine Einheit freigegeben. Das letzte Beispiel (4) soll das verdeutlichen.
- Bsp.: Der Vorgang 72 mit 2 Doppelzimmern Vollbelegung wird auf 1 Zimmer reduziert.
Mit dieser Rückgabe einer Einheit wird nun die Warteliste vollständig aufgelöst.
Es sind nach wie vor 2 Teilbelegungen auf dem Kontingent, was in den Spalten „Bel M." und „Bel. W." dokumentiert ist. Jedoch sind die Buchungen mit den Teilbelegungen seinerzeit auf Warteliste entstanden und tragen nach wie vor den Status UB, was hier noch einmal im Überblick über alle Teilnehmer auf dieses Kontingent dargestellt wird.
Es obliegt dem Veranstalter solche Buchungen, in denen Leistungen mit dem Status UB vorkommen, selbst zu „pflegen". Der Status UB hat im System sonst keinerlei Bedeutung und Vorkommen.
Es wird daher auch beim Batch-Druck nicht angeboten nach Buchungen bzw. Leistungen mit diesem Status zu suchen oder zu selektieren.
Da die Kontingentbeschaffung bei Aldiana außerhalb von DaVinci in einem externen System erfolgt, behalten die Leistungen in DaVinci ihren UB-Status für alle Zeiten. Mögliche Konsequenzen die sich aus dem Leistungsstatus UB bei anderen Veranstaltern ergeben könnten, wurden nicht geprüft.
Achtung! Wenn andere Veranstalter mit der WL-Funktionalität arbeiten wollen, ist die Frage des Workflows zu klären und zu analysieren, was der Leistungsstatus UB im bestehenden Ablauf beeinflusst. Es wären z. B. hierzu alle Reports dahin gehend zu prüfen ob sie diesen unbekannten Status verarbeiten können.
Wartelistenbereinigung durch Kontingenterhöhung
Eine andere Art die Warteliste auf Null zu bringen ist die, das Kontingent im Gesamtzähler zu erhöhen. Dabei werden ebenfalls die Wartelistenzähler um die Menge der freiwerdenden Einheiten reduziert. Öffnet man den Dialog „Termine bearbeiten" (Kontingenttag), …
… so kann man hier die Gesamtzahl des Kontingents erhöhen, in dem man eines der 3 Felder „Normal", „Guaranteed" oder „Pro Rata" erhöht.
Hier wurde „Normal" von 3 auf 4 erhöht.
Sind Wartelistenzähler größer Null so werden sie pro Einheit in der gleichen Reihenfolge reduziert wie bei der zuvor beschriebenen Art der Rückgabe durch Storno und Umbuchung. (erst die Teilb.-Männl. dann --Weibl. und dann die Vollbelegungen.
Kontingentverfall bei erreichter Release-Frist
Wenn Kontingente bereits ihr Release-Datum erreicht haben, sind sie nicht mehr buchbar. Das gilt auch für die Wartelisteplätze die unter Umständen noch frei wären.
Reaktionen bei Umbuchung von WL-Buchungen
Umbuchen bei unverändertem Reisezeitraum
Aus einem ausgebuchten Kontingent mit gleichzeitig ausgebuchter WL wird eine Buchung mit einer UB-Leistung umgebucht. Genauer gesagt es wird eine Namensänderung vorgenommen und mit der Aktion UA angefragt (…, oder gleich mit U abgeschlossen. Reaktion ist gleich).
Aktion UA wird durchgeführt, ohne dass der Anwender die Zeile mit dem Status UB besonders kennzeichnen muss. Dieses ist solange nicht erforderlich, solange man nichts in der Leistungszeile selber verändert.
Das von Aldiana gewollte Verhalten, dass bei Umbuchungen immer das Kennzeichen „Z" verwendet werden muss, wenn bereits Wartelistenbuchungen in einem Kontingent registriert wurden, wird hier ausgesetzt, da im Fall des Name-Change keine Kontingentprüfung stattfindet. Das gilt generell auch wenn keine Wartelistenbuchungen involviert sind. Sollte bei einer involvierten UB-Leistung mittlerweile wieder Kontingente zur Verfügung stehen, führt der Name-Change nicht dazu, dass automatisch der Status von UB auf OK wechselt. Das passiert nur, wenn das System eine Änderung in der Leistungszeile registriert.
Umbuchen bei verändertem Reisezeitraum
Wird der Reisezeitraum verändert und sind in der umgebuchten Version neuerdings Kontingenttage involviert die nur auf WL gebucht werden können, so ist immer eine „Z" Markierung erforderlich, auch wenn die ursprüngliche Version der Leistung den Status OK hatte.
Ausgangssituation:
Die bestehende Buchung 78 belegt den Kontingenttag 15.01. und wurde auf OK gebucht.
Eine Verlängerung des Aufenthalts bis zum 17.01. wird angefragt mit UA, wobei der 16. bereits ausgebucht ist, aber noch Wartelistebuchung zulässt.
Ohne Z-Markierung:
Mit Z-Markierung:
Vorausbuchungen mit UB
Überbuchungen aus s. g. Vorausbuchungskatalogen werden in die echten Produktionskataloge übernommen. Dieses geschieht indem man die s. g. Vorausbuchungen (deren Leistungen den Status AR tragen) mit der Aktion UO in einen realen Katalog umbucht, oder aber einen ganzen Stapel Vorausbuchungen in einer „Batch-Aktion" umwandelt.
Der Status AR wandelt sich von AR auf OP und das Katalogkürzel (im Genesis-Feld: „Reiseart") ändert anschließend aus das neue Katalogkürzel des realen Kataloges.
Achtung bei der Statusangabe gilt, dass die Information der Überbuchung vor allen anderen Statusangaben erfolgt. (Also UB überschreibt AR bzw. OP im Falle einer Wartelistenbuchung!)
Zu beachten bei der Batch-Umbuchung:
Sollte ein Kontingent im Vorausbuchungskatalog bereits überbucht worden sein und ist das Kontingent und Wartelistenlimit im Zielkatalog gleich dem im Vorausbuchungskatalog, so wird während der Batch-Umbuchung, wenn nötig, die Wartelisten-Leistungsmarkierung „Z" automatisch gesetzt. Im neuen Katalog stehen die Buchungen danach genau so auf Warteliste wie im Vorausbuchungskatalog.
Buchungen (97 und 98) im Vorausbuchungskatalog:
Kontingentzähler und gebuchte Teilnehmer in Vorausbuchungskatalog:
Achtung! Der Leistungsstatus „AR" (in Buchung 95) wird in der Teilnehmerinformation des Kontingents hier noch mit OK dargestellt. Das wurde nachträglich korrigiert. (UB bleibt UB)
Kontingentzähler in Zielkatalog vor Umbuchung: (3 frei, WL-Limit ist 2)
Aufruf der Batch-Umbuchung für Vorausbuchungen in Genesis:
nur 97 und 98 wurden markiert und in der automatischen Batch-Umbuchung umgewandelt!
Kontingentzähler und gebuchte Teilnehmer nach Batch-Umbuchung in Produktionskatalog:
Testfälle
Um mit der Funktion der Überbuchung und dem beschriebenen Verhalten vertraut zu werden, können die folgenden Fälle durchgespielt werden. Sie werden bei jedem automatischen Test bei Bewotec automatisch durchlaufen.
- Buchung auf ein noch nicht ausgebuchtes Kontingent (OK-Buchung)
- Buchung auf ein ausgebuchtes Kontingent (UB-Buchung)
- Buchung mit mehren Einheiten (Buchung mit OK und UB-Leistungen)
- Buchung auf ein zeitweise ausgebuchtes Kontingent (UB-Buchung)(Der Fall, dass nur einige Tage auf Warteliste sind, die anderen aber OK)
- Buchung mit geschlechtergetrennten Teilbelegungen
- Stornierung einer OK Leistung aus einem Wartelisten-Kontingent
- Stornierung einer UB Leistung aus einem Wartelisten-Kontingent
- Erhöhen eines Kontingents und automatische Anpassung der Zähler
- Umbuchung einer WL-Buchung nach einer Kontingenterhöhung
- Vorausbuchungen mit Überbuchung und deren automatische Umbuchung in reale Kataloge