# cat=basic; type=int; label=Hotel ID: Identifier for this property in the external booking system hotelId = 0 # cat=basic; type=string; label=Booking base URL: Base URL of the external booking engine bookingBaseUrl = # cat=basic; type=int; label=Max lodges: Maximum number of lodges bookable in a single reservation maxLodges = 5 # cat=basic; type=int; label=Max babies: Maximum number of babies per booking maxBabies = 2 # cat=basic; type=int; label=Max occupancy per lodge: Maximum number of guests selectable per lodge maxOccupancyPerLodge = 6 # cat=booking; type=string; label=Same-day cutoff time: Time (HH:MM, 24h, in the server's timezone) after which today can no longer be booked sameDayCutoffTime = 12:00 # cat=booking; type=int; label=P3 company ID: Company identifier in the P3 Dynamic Pricing API p3CompanyId = 0 # cat=booking; type=string; label=P3 pricing API base URL: Dynamic Pricing API root, without trailing slash (e.g. https://bookings.safari-lodges.co.uk/api/dynamic-pricing) p3PricingApiBaseUrl = # cat=booking; type=int+; label=Adults used for calendar prices: Number of adults P3 prices the calendar for. Should match the minimum the booking engine accepts, so calendar prices match the booking site. ratesAdults = 2 # cat=booking; type=options[1 hour=3600,6 hours=21600,12 hours=43200,1 day=86400,3 days=259200,1 week=604800,2 weeks=1209600,30 days=2592000]; label=Keep rates cached for: How long calendar prices fetched from P3 are reused before they are fetched again ratesCacheTtl = 604800 # cat=booking; type=options[Off=0,1 hour=3600,6 hours=21600,12 hours=43200,1 day=86400,2 days=172800]; label=Refresh rates early: Once cached rates are this close to expiring, the next visitor (or the warm-up command) triggers a background refetch so nobody waits for P3. Capped at half the cache duration. ratesRefreshAhead = 86400 # cat=booking; type=int; label=Booking horizon (months): How far ahead calendar prices are fetched and shown ratesHorizonMonths = 12