feat: make boarding point price levelling switchable
This commit is contained in:
1 parent
0c6126010f
commit
f5e6d2105d
8 files changed
+92
-13
No files matched your search
@@ -225,6 +225,17 @@ JOIN dbo.ZustiegPreis zp ON zp.IDArtZustiegPreis_FS=lb.IDArtZustiegPreis_FS
|
||||
WHERE l.IDLeistung IN (@OutboundServiceId,@ReturnServiceId);
|
||||
```
|
||||
|
||||
**V 2026-09-28 — the XML export can omit the return-leg price.** Since one price row is
|
||||
surfaced twice, an asymmetric pair is an export defect: on products 701 and 2435 a
|
||||
`<zustieg_rueck>` carries no `preis` although the engine still bills the return
|
||||
`Abfahrtsortzuschlag`, so reading the export verbatim undercharges by one leg. Measured over
|
||||
all exports, a stated return price never differs from its outbound counterpart (510 pairs,
|
||||
zero counter-examples). `TravelParser` therefore levels a boarding point's price across both
|
||||
directions, switchable through `APP_BPN_LEVEL_BOARDING_POINT_PRICES` while the defect is open
|
||||
with the vendor. Flipping the flag needs `app:bpn:xml-cache-invalidate` and
|
||||
`app:bpn:refresh-travel-snapshot`. A point appearing **only** in `zustiege_rueck` without a
|
||||
price cannot be priced from our side — that is a catalog job.
|
||||
|
||||
**N — the departure surcharge is computed.** Booking responses carry a position
|
||||
`art="SON" unterart="TRA"` (*Abfahrtsortzuschlag*) with no matching row type: `ArtZuschlag`
|
||||
— the lookup behind `BuchungTNZuschlag` — holds only discounts and fees
|
||||
|
||||
Reference in new issue
Block a user