pub struct Contract {
pub program_duration: Duration,
pub curriculum: Vec<Unit>,
pub progress: ProgressTracking,
pub outcomes: Vec<Outcome>,
pub trainer_availability: Availability,
pub package: Policy,
pub follow_up: FollowUpCadence,
}Expand description
Location training contract tying program duration, curriculum, progress depth, outcomes, trainer availability, package policy, and follow-up cadence together.
Fields§
§program_duration: DurationSource-derived program duration carried by this training contract.
curriculum: Vec<Unit>Source-derived curriculum carried by this training contract.
progress: ProgressTrackingSource-derived progress carried by this training contract.
outcomes: Vec<Outcome>Source-derived outcomes carried by this training contract.
trainer_availability: AvailabilitySource-derived trainer availability carried by this training contract.
package: PolicySource-derived package carried by this training contract.
follow_up: FollowUpCadenceSource-derived follow up carried by this training contract.
Implementations§
Source§impl Contract
impl Contract
Sourcepub fn builder() -> ContractBuilder
pub fn builder() -> ContractBuilder
Create an instance of Contract using the builder syntax
Source§impl Contract
impl Contract
Sourcepub fn requires_named_trainer(&self) -> bool
pub fn requires_named_trainer(&self) -> bool
Reports whether trainer assignment must use a named or waitlisted trainer.
Sourcepub fn has_outcome(&self, outcome: &Outcome) -> bool
pub fn has_outcome(&self, outcome: &Outcome) -> bool
Reports whether the training contract includes the requested outcome claim.
Sourcepub fn standard_petsuites() -> Self
pub fn standard_petsuites() -> Self
Builds a representative PetSuites-style training contract for docs/tests without claiming it is live policy.