""" Options: Date: 2024-10-06 10:31:56 Version: 8.22 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://data.regent-college.edu #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: CRMDonationsRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CRMDonationResponse: regent_id: int = 0 contact_addressee: Optional[str] = None donor_first_name: Optional[str] = None donor_last_name: Optional[str] = None donor_addressee: Optional[str] = None donor_city: Optional[str] = None donor_country: Optional[str] = None donor_owner_full_name: Optional[str] = None is_contact: bool = False is_account: bool = False soft_credit_regent_id: Optional[int] = None soft_credit_contact_addressee: Optional[str] = None soft_credit_contact_first_name: Optional[str] = None soft_credit_contact_last_name: Optional[str] = None soft_credit_contact_spouse_is_main_contact: bool = False soft_credit_contact_city: Optional[str] = None soft_credit_contact_country: Optional[str] = None soft_credit_contact_owner_full_name: Optional[str] = None soft_credit_second_regent_id: Optional[str] = None soft_credit_second_contact_addressee: Optional[str] = None soft_credit_second_contact_first_name: Optional[str] = None soft_credit_second_contact_last_name: Optional[str] = None soft_credit_second_contact_spouse_is_main_contact: bool = False soft_credit_second_contact_city: Optional[str] = None soft_credit_second_contact_country: Optional[str] = None soft_credit_second_contact_owner_full_name: Optional[str] = None spouse_is_main_contact: bool = False import_id: Optional[int] = None donation_id: Optional[str] = None guid: Optional[str] = None name: Optional[str] = None description: Optional[str] = None appeal_code: Optional[str] = None designation: Optional[str] = None designation_description: Optional[str] = None general_ledger_account_number: Optional[str] = None campaign: Optional[str] = None total_pledge_amount: Decimal = decimal.Decimal(0) total_paid_amount: Decimal = decimal.Decimal(0) receipt_amount: Decimal = decimal.Decimal(0) exchange_rate: Optional[Decimal] = None total_paid_canadian_amount: Optional[Decimal] = None is_recurring: bool = False is_parent_donation: bool = False currency: Optional[str] = None source: Optional[str] = None channel: Optional[str] = None receipting_organization: Optional[str] = None type: Optional[str] = None acknowledgment_sent: bool = False send_acknowledgment: bool = False acknowledgment_template_guid: Optional[str] = None parent_guid: Optional[str] = None anonymous: bool = False gift_date: Optional[datetime.datetime] = None recurring_gift_start_date: Optional[datetime.datetime] = None recurring_gift_end_date: Optional[datetime.datetime] = None cheque_number: Optional[str] = None version_number: int = 0 added_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CRMDonationsResponse: response_status: Optional[ResponseStatus] = None donations: Optional[List[CRMDonationResponse]] = None from_date: Optional[datetime.datetime] = None to_date: Optional[datetime.datetime] = None start_version_number: Optional[int] = None end_version_number: Optional[int] = None # @Route("/DynamicsCRM/Donations", "POST") # @Route("/DynamicsCRM/Donations/{regent_id}", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CRMDonationsRequest(IReturn[CRMDonationsResponse]): regent_id: Optional[int] = None from_date: Optional[datetime.datetime] = None to_date: Optional[datetime.datetime] = None start_version_number: Optional[int] = None end_version_number: Optional[int] = None is_missing_acknowledgement: bool = False has_acknowledgement_letter: bool = False