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}