domain/retail/vendor.rs
1//! Vendor models for partner products and external catalog-management flags.
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
6/// Retail partner product line used for recommendation and catalog relationship documentation.
7pub enum Partner {
8 /// Virbac calming-care line that may appear in care-sensitive recommendation and catalog reviews.
9 VirbacCalmCare,
10 /// Purina Pro Plan veterinary supplement line that requires care-aware recommendation review.
11 PurinaProPlanVeterinarySupplements,
12 /// Purina EN boarding diet line used for in-house diet continuity and low-stock planning.
13 PurinaEnBoardingDiet,
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
17/// Relationship between a partner product line and whether an external vendor manages the catalog facts.
18pub struct CatalogRelationship {
19 /// Partner product line linked to this catalog relationship.
20 pub partner: Partner,
21 /// Whether a vendor, rather than the resort catalog team, manages the source catalog facts.
22 pub external_catalog_managed: bool,
23}