Saigars / VBNIS

integrated ticketing information system
MIT License
0 stars 0 forks source link

VBNIS nevar nopirkt stāvvietu #5

Open soldatenoksO opened 2 years ago

soldatenoksO commented 2 years ago

Preprod sistēma. routeNo: 7258, flightNr: 3. Ir 19 sēdvietas un 4 stāvvietas. Ar sēdvietām viss ir skaidrs, bet nevar nopirkt stāvvietu. Norādot biļešu tipu 003A API-O/TicketPrice neatgriež availableTicketCount, kaut gan tas nav gumijas reiss un biļešu skaits ir ierobežots. Mēģinot rezervēt biļeti ar biļešu tipu 003A atbilde ir "Nav brīvu vietu biļetes rezervēšanai". Kas nav korekti?

soldatenoksO commented 2 years ago

ATBILDE:

Tips 003A ir ar pamattipu (API-O/TicketType.TicketType) T113 - Vienreizēja stāvvieta vai sēdvieta Nav pārliecības, vai preprod uzstādītajā API versijā faktiski jau tagad ir noprogrammēts tā, kā jābūt... Bet B klases reisiem jābūt tā:

JA reisa izpilde vēl nav uzsākta, tad pamattipu T113 nevar izmantot, jo tas nedod iespēju veikt iepriekšpārdošanā precīzu sēdvietu un stāvvietu skaita uzskaiti. Jo tips nepasaka, ko tieši nopirka – stāvvietu vai sēdvietu. Tāpēc, lai rezervētu stāvvietu, jāizmanto cits tips, kuram API-O/TicketType.TicketType = T111 - Vienreizēja stāvvieta Tips ar T111 vēl preprod nav izveidots. Tiesa gan – tik drīz tas vēl nebūs produkcijas vidē vajadzīgs, jo pirmajos produkcijas mēnešos biļetes uz B klases reisiem laikam nepārdos.

JA reisa izpilde ir uzsākta, tad 003A vajadzēja nostrādāt, jo reisa izpildes laikā saskaņā ar prasībām, kas saskaņotas ar Direkciju, VBNIS vairs netirgo precīzu cilvēka vietas biļetes pamattipu, bet gan tirgo ‘… stāvvieta vai sēdvieta’. Ja nenostrādāja, veiksim labojumu…

Turpmāk parasti testa vidē būs jaunāka versija, nekā preprod. Ja ir iespēja varbūtējas kļūdas vai situācijas pārbaudīt testa vidē, mēs būtu Jums ļoti pateicīgi. Šajā gadījumā – testa vidē ir biļetes tips 9087321CDX, kas teorētiski derētu, lai pirktu stāvvietu pirms reisa uzsākšanas.

soldatenoksO commented 2 years ago

JAUTĀJUMS:

Info par A un C klases reisiem. Precizēju, C klases reisiem vienmēr ir tikai viens biļešu tips T113? Un A klases reisiem tāpat, kā ar B? Kāds API pieprasījums dod iespēju saprast, vai reisa izpilde ir uzsākta vai nē.

ATBILDE:

  1. Neesmu drošs, vai preprod uzstādītajā API versijā faktiski jau tagad ir noprogrammēts tā, kā jābūt, jo mēs šobrīd veicam biļešu pieejamības un rezervēšanas algoritmu uzlabošanu, lai tie atbilstu aktuālajām ar Direkciju saskaņotajām prasībām par biļešu tipu pielietojumu dažādu klašu reisos un šie uzlabojumi vēl nav pabeigti un uzstādīti pieejamās vidēs. Uzlabojumi paredz arī to, ka metode API-O/TicketPrice neatgriezīs datus konkrētajā situācijā neatbilstošam biļetes pamattipam un booking metodes atgriezīs kļūdas ziņojumu par to, ka rezervēšanā izmantotais biļetes tipa pamattips nav piemērojams konkrētajā situācijā.

Aktuālās prasības par biļešu pamattipu, reisu klašu un citu nosacījumu ņemšanu vērā, nosakot biļešu pieejamību, dotas datnē Bilesu_vietu_tipi_un_BS_algoritmi2022.05.13.xlsx (dokumentu pieprasīt atsevišķi). Tajā Jūs atradīsiet atbildes uz jautājumiem par A un C reisu klasēm.

  1. Par iespēju tirgotājam uzzināt reisa izpildes statusu Tāda iespēja tirgotājiem paredzētiem API nav izstrādāta. Aptuveno reisa uzsākšanas laiku var uzzināt no API-O/Flight atbildes apakšstruktūras FlightTimetable. Jāņem vērā, ka pārvadātājs reisa izpildes statusu ‘Uzsākts’ var piešķirt ātrāk, nekā reisa atiešanas laiks saskaņā ar API-O/Flight, jo ‘Uzsākts’ ir tas laiks, kad sāk laist iekšā un pārbaudīt pasažierus. Un var būt arī ‘Uzsākts’ ar kavēšanos pret reisa atiešanas laiku no API-O/Flight. a) Jebkurā gadījumā tieši pirms booking metodes izpildes tirgotāja sistēmai ar API-O/TicketPrice jānoskaidro konkrētā biļetes tipa biļetes aktuālo pieejamību un cenu. Jo booking metodes nav paredzētas biļešu cenu un pieejamības noskaidrošanai, kamēr nav uzsākta pirkuma apmaksas procedūra ar konkrētu pircēju. Tāpēc varētu nosūtīt 2 secīgus API-O/TicketPrice pieprasījumus, no kuriem viens ir ar biļetes pamattipu [T111 - Vienreizēja stāvvieta] vai [T112 - Vienreizēja sēdvieta] otrs ar [T113 - Vienreizēja stāvvieta vai sēdvieta]. Atkarībā no abu TicketPrice metožu izpildes rezultātiem, tirgotāja sistēma tālāk uz booking metodi izmanto to biļetes tipu, par kuru API-O/TicketPrice atgrieza rezultātu, ka biļete ir pieejama. Piezīme: C klases reisiem Sistēmā biļešu tipus ar pamattipiem [T111 - Vienreizēja stāvvieta] vai [T112 - Vienreizēja sēdvieta] nedefinēs.