Skip to main content

domain/retail/
vendor.rs

1//! Vendor contracts 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 calm care retail operational signal for inventory, POS, reorder, recommendation, or review handling.
9    VirbacCalmCare,
10    /// Purina pro plan veterinary supplements retail operational signal for inventory, POS, reorder, recommendation, or review handling.
11    PurinaProPlanVeterinarySupplements,
12    /// Purina en boarding diet retail operational signal for inventory, POS, reorder, recommendation, or review handling.
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    /// Source-derived partner carried by this retail contract.
20    pub partner: Partner,
21    /// Source-derived external catalog managed carried by this retail contract.
22    pub external_catalog_managed: bool,
23}