45 lines
2.3 KiB
Python
45 lines
2.3 KiB
Python
# JSON extraction schema for the adventure travel vertical, expressed
|
|
# as data rather than embedded in the prompt template string. This
|
|
# mirrors the JSON shape at the end of prompt.build_prompt()'s output
|
|
# and exists as the attachment point for CLAUDE.md §28's Version 2
|
|
# custom extraction fields (build_json_schema() appends tenant custom
|
|
# fields to whichever of these two dicts applies) — that build_json_schema()
|
|
# function itself is out of scope until Discover/Intelligence tier work
|
|
# begins; this file only establishes the base schema it would extend.
|
|
|
|
STANDARD_SCHEMA = {
|
|
'company': 'text — competitor name',
|
|
'link': 'text — page URL',
|
|
'tripName': 'text — exact trip name from the page',
|
|
'tripCode': 'text — trip code if shown, otherwise null',
|
|
'serviceLevel': 'text — accommodation service level',
|
|
'groupSize': 'integer — max group size',
|
|
'duration': 'integer — number of days',
|
|
'meals': 'integer — total included meals',
|
|
'startLocation': 'text — departure city',
|
|
'endLocation': 'text — end city',
|
|
'departures': 'integer — approximate departures per year, or null',
|
|
'seasonality': 'text — price bands by season',
|
|
'startDays': 'text — departure days of week',
|
|
'targetAudience': 'text — target traveller',
|
|
'hotels': 'text — hotel types or properties',
|
|
'activities': 'text — key included activities',
|
|
'relevancy': 'integer — relevancy score 1-5',
|
|
'majorityPrice': 'price — standard adult USD price or null',
|
|
'priceLow': 'price — lowest standard USD price or null',
|
|
'priceHigh': 'price — highest standard USD price or null',
|
|
'comments': 'text — analysis: differences, strengths, weaknesses, pricing position',
|
|
'dateUsed': 'text — specific departure date used for majority price',
|
|
'audPrice': 'price — standard AUD price or null',
|
|
'cadPrice': 'price — standard CAD price or null',
|
|
'eurPrice': 'price — standard EUR price or null',
|
|
'gbpPrice': 'price — standard GBP price or null',
|
|
}
|
|
|
|
NGS_SCHEMA = {
|
|
**STANDARD_SCHEMA,
|
|
'exclusiveAccess': 'text — exclusive access or special unique inclusions',
|
|
'groupLeader': 'text — group leader and/or local expert description',
|
|
'sustainability': 'text — sustainability inclusions or null',
|
|
}
|