Skip to main content

Module capacity

Module capacity 

Source
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§

NightlySegmentSnapshot
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.
RoomCount
Non-negative count of rooms in a boarding accommodation segment.
SegmentCounts
Builder-facing source counts for one accommodation segment on a boarding night.
SegmentCountsBuilder
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.
DenialReason
Reasons boarding capacity policy must deny confirmation from available evidence.
RoomCountError
Validation errors for room-count promotion from boundary data.
SnapshotError
Snapshot validation errors that prevent safe capacity automation.
WaitlistReason
Reasons a boarding request should be waitlisted instead of confirmed.