/* Options: Date: 2026-11-07 03:05:58 Version: 10.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.bettor.webhop.biz //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ResolveSlipCancellation.* //ExcludeTypes: //DefaultImports: serde::{Deserialize, Serialize},serde_json::Value,std::collections::HashMap */ #![allow( dead_code, non_camel_case_types, non_snake_case, clippy::upper_case_acronyms )] use serde::{Deserialize, Serialize}; use serde_json::Value; use servicestack::*; use std::collections::HashMap; #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Ref { pub id: String, pub val: String, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RefEx { #[serde(flatten)] pub r#ref: Ref, pub data: RecordDictionary, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct RecordDictionary(pub HashMap); #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct BettingApp { #[serde(default, skip_serializing_if = "Option::is_none")] pub name: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Origin { #[serde(default, skip_serializing_if = "Option::is_none")] pub application: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub ip: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub organization: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub region: Option, #[serde(rename = "locationGroup")] #[serde(default, skip_serializing_if = "Option::is_none")] pub location_group: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub location: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub device: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub clerk: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Bet { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(rename = "placementStatus")] pub placement_status: BetPlacementStatus, #[serde(default, skip_serializing_if = "Option::is_none")] pub payload: Option>, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Bet { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(rename = "slipId")] #[serde(default, skip_serializing_if = "Option::is_none")] pub slip_id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub origin: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub bettor: Option, #[serde(rename = "placedAt")] pub placed_at: String, #[serde(rename = "productInstance")] #[serde(default, skip_serializing_if = "Option::is_none")] pub product_instance: Option, pub status: BetStatus, #[serde(rename = "placementStatus")] pub placement_status: BetPlacementStatus, #[serde(rename = "processingStatus")] pub processing_status: BetProcessingStatus, pub validity: BetValidity, #[serde(rename = "payoutStatus")] pub payout_status: BetPayoutStatus, #[serde(default, skip_serializing_if = "Option::is_none")] pub payload: Option, pub outcome: BetOutcome, #[serde(rename = "payinRecap")] #[serde(default, skip_serializing_if = "Option::is_none")] pub payin_recap: Option, #[serde(rename = "possiblePayoutRecap")] #[serde(default, skip_serializing_if = "Option::is_none")] pub possible_payout_recap: Option, #[serde(rename = "actualPayoutRecap")] #[serde(default, skip_serializing_if = "Option::is_none")] pub actual_payout_recap: Option, #[serde(rename = "payoutInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub payout_info: Option, #[serde(rename = "cancellationInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub cancellation_info: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct Bet { #[serde(rename = "betId")] #[serde(default, skip_serializing_if = "Option::is_none")] pub bet_id: Option, #[serde(rename = "productInstance")] #[serde(default, skip_serializing_if = "Option::is_none")] pub product_instance: Option, pub status: BetStatus, #[serde(rename = "placementStatus")] pub placement_status: BetPlacementStatus, #[serde(rename = "processingStatus")] pub processing_status: BetProcessingStatus, pub validity: BetValidity, #[serde(rename = "payoutStatus")] pub payout_status: BetPayoutStatus, #[serde(default, skip_serializing_if = "Option::is_none")] pub payload: Option, pub outcome: BetOutcome, #[serde(rename = "payinRecap")] #[serde(default, skip_serializing_if = "Option::is_none")] pub payin_recap: Option, #[serde(rename = "possiblePayoutRecap")] #[serde(default, skip_serializing_if = "Option::is_none")] pub possible_payout_recap: Option, #[serde(rename = "actualPayoutRecap")] #[serde(default, skip_serializing_if = "Option::is_none")] pub actual_payout_recap: Option, #[serde(rename = "payoutInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub payout_info: Option, #[serde(rename = "cancellationInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub cancellation_info: Option, #[serde(rename = "reversionInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub reversion_info: Option, #[serde(rename = "expirationInfo")] #[serde(default, skip_serializing_if = "Option::is_none")] pub expiration_info: Option, } // Route("/cmd/slips/cancellation/resolve", "POST") #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Default)] #[serde(default)] pub struct ResolveSlipCancellation { #[serde(default, skip_serializing_if = "Option::is_none")] pub id: Option, #[serde(rename = "slipId")] #[serde(default, skip_serializing_if = "Option::is_none")] pub slip_id: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub origin: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub bets: Option>, } impl IRequest for ResolveSlipCancellation { const NAME: &'static str = "ResolveSlipCancellation"; const VERB: &'static str = "POST"; } impl IReturn for ResolveSlipCancellation { type Response = ResponseStatus; }