noah_sdk/models/
onboarding.rs

1//! Onboarding-related models
2
3use crate::models::common::*;
4use serde::{Deserialize, Serialize};
5
6/// Fiat option
7#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct FiatOption {
9    /// Fiat currency code
10    #[serde(rename = "FiatCurrencyCode")]
11    pub fiat_currency_code: FiatCurrencyCode,
12}
13
14/// Hosted onboarding request
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct HostedOnboardingRequest {
17    /// Return URL
18    #[serde(rename = "ReturnURL")]
19    pub return_url: ReturnURL,
20    /// Fiat options
21    #[serde(rename = "FiatOptions")]
22    pub fiat_options: Vec<FiatOption>,
23    /// Form (optional)
24    #[serde(rename = "Form")]
25    pub form: Option<serde_json::Value>,
26    /// Metadata (optional)
27    #[serde(rename = "Metadata")]
28    pub metadata: Option<std::collections::HashMap<String, String>>,
29}
30
31/// Hosted session response
32#[derive(Debug, Clone, Serialize, Deserialize)]
33pub struct HostedSessionResponse {
34    /// Hosted URL
35    #[serde(rename = "HostedURL")]
36    pub hosted_url: String,
37    /// Form schema (optional)
38    #[serde(rename = "FormSchema")]
39    pub form_schema: Option<serde_json::Value>,
40}
41
42/// Prefill document upload URL response
43#[derive(Debug, Clone, Serialize, Deserialize)]
44pub struct PrefillDocumentUploadURLResponse {
45    /// Presigned URL
46    #[serde(rename = "PresignedURL")]
47    pub presigned_url: String,
48    /// Expires at
49    #[serde(rename = "ExpiresAt")]
50    pub expires_at: DateTime,
51}