Expand description
Daycare group-play eligibility policy for source-grounded staff review.
use domain::{daycare, entities, policy};
use uuid::Uuid;
let evidence = daycare::eligibility::Evidence::builder()
.pet_id(entities::PetId(Uuid::nil()))
.species(entities::Species::Dog)
.service(daycare::ServiceVariant::AllDayPlay)
.temperament(daycare::eligibility::TemperamentAssessmentFreshness::Missing)
.vaccines(daycare::eligibility::VaccineReadiness::Current)
.spay_neuter(entities::SpayNeuterStatus::Neutered)
.incident(daycare::incident::Restriction::None)
.staff_coverage(daycare::coverage::Decision::Sufficient)
.build();
assert_eq!(
daycare::eligibility::GroupPlayPolicy.evaluate(&evidence),
daycare::eligibility::GroupPlayDecision::NeedsStaffReview {
reason: daycare::eligibility::ReviewReason::MissingCurrentTemperamentAssessment,
gate: policy::ReviewGate::BehaviorReview,
},
);Structs§
- Evidence
- Source-derived evidence used to decide whether a pet may enter daycare group play.
- Evidence
Builder - Use builder syntax to set the inputs and finish with
build(). - Group
Play Policy - Deterministic policy that converts source evidence into daycare group-play eligibility.
Enums§
- Denial
Reason - Reasons a pet is not eligible for the requested group-play care mode.
- Eligible
Basis - Evidence basis proving a pet is eligible for group play.
- Group
Play Decision - Eligibility outcome for admitting a pet to daycare group play.
- Review
Reason - Reasons daycare group-play eligibility requires staff review.
- Temperament
Assessment Freshness - Freshness state of the temperament assessment required for daycare group play.
- Vaccine
Readiness - Vaccine-proof readiness state for daycare eligibility decisions.