Parity: best-available comparison as default, term-matching optional
parity_match_mode config ('best_available' default | 'match_terms').
Best available = cheapest bookable non-dinner direct tariff vs the BC
lead-in (already BC's best available) — simplest like-for-like. Term
matching kept as an option for days where BC's cheapest basis differs
from direct's. Settings gains a comparison-basis select.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
3b501f95c5
commit
ad0e82465c
2 changed files with 42 additions and 11 deletions
|
|
@ -167,6 +167,26 @@ function ParityTab({ config, isLoading, onSave, saving }: {
|
|||
Run daily parity check
|
||||
</label>
|
||||
|
||||
<div>
|
||||
<label style={{ fontSize: 12, fontWeight: 600, color: 'var(--text-mid)', display: 'block', marginBottom: 4 }}>
|
||||
Comparison basis
|
||||
</label>
|
||||
<select
|
||||
style={{ width: 330 }}
|
||||
value={(config?.['parity_match_mode'] ?? 'best_available')}
|
||||
onChange={e => onSave('parity_match_mode', e.target.value)}
|
||||
>
|
||||
<option value="best_available">Best available (cheapest bookable tariff on both sides)</option>
|
||||
<option value="match_terms">Match terms (flex vs flex, prepaid vs prepaid)</option>
|
||||
</select>
|
||||
<div style={{ fontSize: 11, color: 'var(--text-mid)', marginTop: 4, maxWidth: 480 }}>
|
||||
Best available compares our cheapest bookable direct tariff against the Booking.com
|
||||
lead-in rate (Booking.com's best available). Match terms instead picks the direct tariff
|
||||
with the same conditions as the scraped Booking.com rate — only differs on days where
|
||||
Booking.com's cheapest is flexible while a cheaper prepaid exists direct.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style={{ display: 'flex', gap: 16, flexWrap: 'wrap' }}>
|
||||
<div>
|
||||
<label style={{ fontSize: 12, fontWeight: 600, color: 'var(--text-mid)', display: 'block', marginBottom: 4 }}>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue