Expand description
Room and suite capacity policy for confirm, waitlist, and denial decisions. Boarding capacity decisions for room/suite availability.
Capacity examples use semantic accommodation paths so a labor-saving agent can explain whether the front desk should confirm, waitlist, or route an exception for manager review:
use domain::{boarding, entities};
use uuid::Uuid;
let luxury_suite = boarding::capacity::SegmentCounts::builder()
.accommodation(boarding::accommodation::Kind::LuxuryDogSuite)
.total(boarding::capacity::RoomCount::try_new(10).unwrap())
.occupied(boarding::capacity::RoomCount::try_new(10).unwrap())
.build();
let snapshot = boarding::capacity::Snapshot::new(vec![
boarding::capacity::NightlySegmentSnapshot::from_counts(luxury_suite),
])
.unwrap();
let request = boarding::capacity::Request::new(
entities::LocationId(Uuid::nil()),
entities::Species::Dog,
boarding::accommodation::Preference::Specific(boarding::accommodation::Kind::LuxuryDogSuite),
);
assert_eq!(
boarding::capacity::Policy.evaluate(&request, &snapshot),
boarding::capacity::Decision::Waitlist {
reason: boarding::capacity::WaitlistReason::EligibleSegmentFull,
},
);Structs§
- Nightly
Segment Snapshot - Immutable nightly capacity snapshot for one accommodation segment.
- Policy
- Deterministic boarding capacity policy that does not invent inventory.
- Request
- Boarding capacity request for a location, species, and accommodation preference.
- Room
Count - Non-negative count of rooms in a boarding accommodation segment.
- Segment
Counts - Builder-facing source counts for one accommodation segment on a boarding night.
- Segment
Counts Builder - Use builder syntax to set the inputs and finish with
build(). - Snapshot
- Point-in-time boarding inventory evidence used to make confirm/waitlist/deny decisions.
Enums§
- Decision
- Capacity outcome an agent may present to staff when handling a boarding request.
- Denial
Reason - Reasons boarding capacity policy must deny confirmation from available evidence.
- Room
Count Error - Validation errors for room-count promotion from boundary data.
- Snapshot
Error - Snapshot validation errors that prevent safe capacity automation.
- Waitlist
Reason - Reasons a boarding request should be waitlisted instead of confirmed.