Skip to main content

Module eligibility

Module eligibility 

Source
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.
EvidenceBuilder
Use builder syntax to set the inputs and finish with build().
GroupPlayPolicy
Deterministic policy that converts source evidence into daycare group-play eligibility.

Enums§

DenialReason
Reasons a pet is not eligible for the requested group-play care mode.
EligibleBasis
Evidence basis proving a pet is eligible for group play.
GroupPlayDecision
Eligibility outcome for admitting a pet to daycare group play.
ReviewReason
Reasons daycare group-play eligibility requires staff review.
TemperamentAssessmentFreshness
Freshness state of the temperament assessment required for daycare group play.
VaccineReadiness
Vaccine-proof readiness state for daycare eligibility decisions.