# coding: utf-8

# flake8: noqa

"""
    Cloudbeds Accounting Service API

    The Cloudbeds Accounting Service API provides programmatic access to financial data and operations for hospitality properties. Use this API to manage transactions, folios, deposits, accounts receivable ledgers, trial balances, and related accounting configuration.  **Key concepts:** - **Transactions** represent individual financial entries (charges, payments,   taxes, fees) associated with a source such as a reservation, group profile,   or house account.  - **Folios** organize transactions into logical groups within a source. You   can create custom folios and move or route transactions between them.  - **Source Balances** provide a real-time financial summary (charges, payments,   balance due, tax/fee breakdowns) for a reservation, group profile, house   account, or accounts receivable ledger.  - **Accounts Receivable (AR) Ledgers** track outstanding balances that have   been transferred from reservations or group profiles for later collection.  - **Trial Balance** is a daily financial reconciliation report that summarizes   ledger activity across guest, deposit, and AR ledgers.  - **Custom Codes** let you map Cloudbeds internal transaction codes to your   own chart-of-accounts codes and general ledger codes.   **Authentication:** All endpoints require a valid OAuth2 bearer token. Endpoints are protected by scopes: `read:payment` for read operations and `write:payment` for mutating operations. A few search endpoints use POST with a request body to support complex filter criteria; these require the `read:payment` scope.  **Base URL:** Use `https://api.cloudbeds.com` for production and `https://api.cloudbeds-stage.com` for staging. All endpoint paths are prefixed with `/accounting/v1.0`.  **Property context:** Every request must include the `X-Property-ID` header to identify which property the request applies to.  **Monetary amounts:** Unless otherwise noted, monetary amounts are expressed in the smallest currency unit (e.g., cents for USD). Use the `currencyScale` field to determine the number of decimal places.  **Pagination:** Paginated endpoints return a `nextPageToken` value. Pass this token in subsequent requests to retrieve the next page of results. When `nextPageToken` is null or absent, you have reached the last page. 

    The version of the OpenAPI document: v0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


__version__ = "1.7.0"

# Define package exports
__all__ = [
    "AccountsReceivableLedgerApi",
    "CustomGeneralLedgerCodesApi",
    "CustomTransactionCodesApi",
    "DepositsApi",
    "FolioConfigurationApi",
    "FoliosApi",
    "InternalTransactionCodesApi",
    "SettingsApi",
    "SourceBalanceApi",
    "TransactionsApi",
    "TrialBalanceApi",
    "ApiResponse",
    "ApiClient",
    "Configuration",
    "OpenApiException",
    "ApiTypeError",
    "ApiValueError",
    "ApiKeyError",
    "ApiAttributeError",
    "ApiException",
    "Account",
    "AccountCategory",
    "AccountsReceivableLedgerPaginated",
    "AccountsReceivableLedgerPatchRequest",
    "AccountsReceivableLedgerPostRequest",
    "AccountsReceivableLedgerReservationBalanceTransferResponse",
    "AccountsReceivableLedgerReservationBalanceTransferResponseTransaction",
    "AccountsReceivableLedgerResponse",
    "AccountsReceivableLedgerStatus",
    "AccountsReceivableLedgerTotalsResponse",
    "AccountsReceivableTransactionPaginated",
    "AccountsReceivableTransactionResponse",
    "AccountsReceivableTransactionResponseTransferDetails",
    "Action",
    "AndOrGroup",
    "AndOrGroupAndInner",
    "ApiAccountingError",
    "ApiErrorCode",
    "AssignFolioConfigurationRequest",
    "AsyncEventResponse",
    "BalanceBreakdownItem",
    "ChartOfAccountType",
    "ConditionalOperator",
    "CreateFolioRequest",
    "CreateFolioResponse",
    "CustomGeneralLedgerCodeModel",
    "CustomGeneralLedgerCodesUpdateRequest",
    "CustomTransactionCodesModel",
    "CustomTransactionCodesUpdateModel",
    "CustomTransactionCodesUpdateRequest",
    "DepositBalanceResponse",
    "DepositConsumptionEnum",
    "ExtendedTransactionPaginated",
    "ExtendedTransactionResponse",
    "ExternalRelationKind",
    "FieldFilter",
    "Filters",
    "FiscalDocumentSummary",
    "FolioConfigurationData",
    "FolioConfigurationFolioData",
    "FolioConfigurationFolioTransactionTypeData",
    "FolioConfigurationSaveResponse",
    "FolioConfigurationSaveResponseData",
    "FolioConfigurationSourceData",
    "FolioConfigurationToSourceResponse",
    "FolioPaymentAllocation",
    "FolioResponse",
    "FolioSourceKind",
    "FolioTransactionGroup",
    "FolioTransactionGroupByField",
    "FolioTransactionGroupTotals",
    "FolioTransactionResponse",
    "FolioTransactionTotals",
    "FolioTransactionTypeResponse",
    "ForeignCurrencyTotals",
    "GetAccountsReceivableLedgerTotalsFilterParameter",
    "GetAccountsReceivableLedgerTransactionsFilterParameter",
    "GetAccountsReceivableLedgersFilterParameter",
    "GetDepositTransactionsFilterParameter",
    "GetFoliosFilterParameter",
    "GroupProfileTransferDetails",
    "InternalTransactionCodeGroupEnum",
    "InternalTransactionCodeResponse",
    "InternalTransactionCodesListResponse",
    "ListFolioTransactionsPaginated",
    "ListFolioTransactionsRequest",
    "ListPendingTransactionsPaginated",
    "ListPendingTransactionsRequest",
    "ListTransactionsPaginated",
    "ListTransactionsRequest",
    "LogicalOperator",
    "MoveTransactionsRequest",
    "PageDetails",
    "PaymentDetails",
    "PostGroupProfileBalanceTransferRequest",
    "ReservationStatus",
    "ReservationTransferDetails",
    "RouteTransactionsRequest",
    "RoutingContext",
    "RoutingRuleResponse",
    "RoutingRuleTransactionTypeResponse",
    "SettingPatchRequest",
    "SettingResponse",
    "SettingValues",
    "Sort",
    "SortDirection",
    "SourceBalanceResponse",
    "SourceKind",
    "TransactionItemGroup",
    "TransactionItemMappingModel",
    "TransactionItemMappingRequest",
    "TransactionItemMappingUpdateModel",
    "TransactionResponse",
    "TransactionState",
    "TransactionTypeIdentifier",
    "TransferDepositPostRequest",
    "TrialBalanceConfigurationStatusResponse",
    "TrialBalanceReportCodeInfo",
    "TrialBalanceReportGuestLedger",
    "TrialBalanceReportLedgerBalances",
    "TrialBalanceReportResponse",
    "TrialBalanceReportSummary",
    "TrialBalanceRequest",
    "TrialBalanceResponse",
    "UnrouteTransactionsRequest",
    "UpdateFolioRequest",
    "UserModel",
]

# import apis into sdk package
from cloudbeds_accounting.api.accounts_receivable_ledger_api import AccountsReceivableLedgerApi as AccountsReceivableLedgerApi
from cloudbeds_accounting.api.custom_general_ledger_codes_api import CustomGeneralLedgerCodesApi as CustomGeneralLedgerCodesApi
from cloudbeds_accounting.api.custom_transaction_codes_api import CustomTransactionCodesApi as CustomTransactionCodesApi
from cloudbeds_accounting.api.deposits_api import DepositsApi as DepositsApi
from cloudbeds_accounting.api.folio_configuration_api import FolioConfigurationApi as FolioConfigurationApi
from cloudbeds_accounting.api.folios_api import FoliosApi as FoliosApi
from cloudbeds_accounting.api.internal_transaction_codes_api import InternalTransactionCodesApi as InternalTransactionCodesApi
from cloudbeds_accounting.api.settings_api import SettingsApi as SettingsApi
from cloudbeds_accounting.api.source_balance_api import SourceBalanceApi as SourceBalanceApi
from cloudbeds_accounting.api.transactions_api import TransactionsApi as TransactionsApi
from cloudbeds_accounting.api.trial_balance_api import TrialBalanceApi as TrialBalanceApi

# import ApiClient
from cloudbeds_accounting.api_response import ApiResponse as ApiResponse
from cloudbeds_accounting.api_client import ApiClient as ApiClient
from cloudbeds_accounting.configuration import Configuration as Configuration
from cloudbeds_accounting.exceptions import OpenApiException as OpenApiException
from cloudbeds_accounting.exceptions import ApiTypeError as ApiTypeError
from cloudbeds_accounting.exceptions import ApiValueError as ApiValueError
from cloudbeds_accounting.exceptions import ApiKeyError as ApiKeyError
from cloudbeds_accounting.exceptions import ApiAttributeError as ApiAttributeError
from cloudbeds_accounting.exceptions import ApiException as ApiException

# import models into sdk package
from cloudbeds_accounting.models.account import Account as Account
from cloudbeds_accounting.models.account_category import AccountCategory as AccountCategory
from cloudbeds_accounting.models.accounts_receivable_ledger_paginated import AccountsReceivableLedgerPaginated as AccountsReceivableLedgerPaginated
from cloudbeds_accounting.models.accounts_receivable_ledger_patch_request import AccountsReceivableLedgerPatchRequest as AccountsReceivableLedgerPatchRequest
from cloudbeds_accounting.models.accounts_receivable_ledger_post_request import AccountsReceivableLedgerPostRequest as AccountsReceivableLedgerPostRequest
from cloudbeds_accounting.models.accounts_receivable_ledger_reservation_balance_transfer_response import AccountsReceivableLedgerReservationBalanceTransferResponse as AccountsReceivableLedgerReservationBalanceTransferResponse
from cloudbeds_accounting.models.accounts_receivable_ledger_reservation_balance_transfer_response_transaction import AccountsReceivableLedgerReservationBalanceTransferResponseTransaction as AccountsReceivableLedgerReservationBalanceTransferResponseTransaction
from cloudbeds_accounting.models.accounts_receivable_ledger_response import AccountsReceivableLedgerResponse as AccountsReceivableLedgerResponse
from cloudbeds_accounting.models.accounts_receivable_ledger_status import AccountsReceivableLedgerStatus as AccountsReceivableLedgerStatus
from cloudbeds_accounting.models.accounts_receivable_ledger_totals_response import AccountsReceivableLedgerTotalsResponse as AccountsReceivableLedgerTotalsResponse
from cloudbeds_accounting.models.accounts_receivable_transaction_paginated import AccountsReceivableTransactionPaginated as AccountsReceivableTransactionPaginated
from cloudbeds_accounting.models.accounts_receivable_transaction_response import AccountsReceivableTransactionResponse as AccountsReceivableTransactionResponse
from cloudbeds_accounting.models.accounts_receivable_transaction_response_transfer_details import AccountsReceivableTransactionResponseTransferDetails as AccountsReceivableTransactionResponseTransferDetails
from cloudbeds_accounting.models.action import Action as Action
from cloudbeds_accounting.models.and_or_group import AndOrGroup as AndOrGroup
from cloudbeds_accounting.models.and_or_group_and_inner import AndOrGroupAndInner as AndOrGroupAndInner
from cloudbeds_accounting.models.api_accounting_error import ApiAccountingError as ApiAccountingError
from cloudbeds_accounting.models.api_error_code import ApiErrorCode as ApiErrorCode
from cloudbeds_accounting.models.assign_folio_configuration_request import AssignFolioConfigurationRequest as AssignFolioConfigurationRequest
from cloudbeds_accounting.models.async_event_response import AsyncEventResponse as AsyncEventResponse
from cloudbeds_accounting.models.balance_breakdown_item import BalanceBreakdownItem as BalanceBreakdownItem
from cloudbeds_accounting.models.chart_of_account_type import ChartOfAccountType as ChartOfAccountType
from cloudbeds_accounting.models.conditional_operator import ConditionalOperator as ConditionalOperator
from cloudbeds_accounting.models.create_folio_request import CreateFolioRequest as CreateFolioRequest
from cloudbeds_accounting.models.create_folio_response import CreateFolioResponse as CreateFolioResponse
from cloudbeds_accounting.models.custom_general_ledger_code_model import CustomGeneralLedgerCodeModel as CustomGeneralLedgerCodeModel
from cloudbeds_accounting.models.custom_general_ledger_codes_update_request import CustomGeneralLedgerCodesUpdateRequest as CustomGeneralLedgerCodesUpdateRequest
from cloudbeds_accounting.models.custom_transaction_codes_model import CustomTransactionCodesModel as CustomTransactionCodesModel
from cloudbeds_accounting.models.custom_transaction_codes_update_model import CustomTransactionCodesUpdateModel as CustomTransactionCodesUpdateModel
from cloudbeds_accounting.models.custom_transaction_codes_update_request import CustomTransactionCodesUpdateRequest as CustomTransactionCodesUpdateRequest
from cloudbeds_accounting.models.deposit_balance_response import DepositBalanceResponse as DepositBalanceResponse
from cloudbeds_accounting.models.deposit_consumption_enum import DepositConsumptionEnum as DepositConsumptionEnum
from cloudbeds_accounting.models.extended_transaction_paginated import ExtendedTransactionPaginated as ExtendedTransactionPaginated
from cloudbeds_accounting.models.extended_transaction_response import ExtendedTransactionResponse as ExtendedTransactionResponse
from cloudbeds_accounting.models.external_relation_kind import ExternalRelationKind as ExternalRelationKind
from cloudbeds_accounting.models.field_filter import FieldFilter as FieldFilter
from cloudbeds_accounting.models.filters import Filters as Filters
from cloudbeds_accounting.models.fiscal_document_summary import FiscalDocumentSummary as FiscalDocumentSummary
from cloudbeds_accounting.models.folio_configuration_data import FolioConfigurationData as FolioConfigurationData
from cloudbeds_accounting.models.folio_configuration_folio_data import FolioConfigurationFolioData as FolioConfigurationFolioData
from cloudbeds_accounting.models.folio_configuration_folio_transaction_type_data import FolioConfigurationFolioTransactionTypeData as FolioConfigurationFolioTransactionTypeData
from cloudbeds_accounting.models.folio_configuration_save_response import FolioConfigurationSaveResponse as FolioConfigurationSaveResponse
from cloudbeds_accounting.models.folio_configuration_save_response_data import FolioConfigurationSaveResponseData as FolioConfigurationSaveResponseData
from cloudbeds_accounting.models.folio_configuration_source_data import FolioConfigurationSourceData as FolioConfigurationSourceData
from cloudbeds_accounting.models.folio_configuration_to_source_response import FolioConfigurationToSourceResponse as FolioConfigurationToSourceResponse
from cloudbeds_accounting.models.folio_payment_allocation import FolioPaymentAllocation as FolioPaymentAllocation
from cloudbeds_accounting.models.folio_response import FolioResponse as FolioResponse
from cloudbeds_accounting.models.folio_source_kind import FolioSourceKind as FolioSourceKind
from cloudbeds_accounting.models.folio_transaction_group import FolioTransactionGroup as FolioTransactionGroup
from cloudbeds_accounting.models.folio_transaction_group_by_field import FolioTransactionGroupByField as FolioTransactionGroupByField
from cloudbeds_accounting.models.folio_transaction_group_totals import FolioTransactionGroupTotals as FolioTransactionGroupTotals
from cloudbeds_accounting.models.folio_transaction_response import FolioTransactionResponse as FolioTransactionResponse
from cloudbeds_accounting.models.folio_transaction_totals import FolioTransactionTotals as FolioTransactionTotals
from cloudbeds_accounting.models.folio_transaction_type_response import FolioTransactionTypeResponse as FolioTransactionTypeResponse
from cloudbeds_accounting.models.foreign_currency_totals import ForeignCurrencyTotals as ForeignCurrencyTotals
from cloudbeds_accounting.models.get_accounts_receivable_ledger_totals_filter_parameter import GetAccountsReceivableLedgerTotalsFilterParameter as GetAccountsReceivableLedgerTotalsFilterParameter
from cloudbeds_accounting.models.get_accounts_receivable_ledger_transactions_filter_parameter import GetAccountsReceivableLedgerTransactionsFilterParameter as GetAccountsReceivableLedgerTransactionsFilterParameter
from cloudbeds_accounting.models.get_accounts_receivable_ledgers_filter_parameter import GetAccountsReceivableLedgersFilterParameter as GetAccountsReceivableLedgersFilterParameter
from cloudbeds_accounting.models.get_deposit_transactions_filter_parameter import GetDepositTransactionsFilterParameter as GetDepositTransactionsFilterParameter
from cloudbeds_accounting.models.get_folios_filter_parameter import GetFoliosFilterParameter as GetFoliosFilterParameter
from cloudbeds_accounting.models.group_profile_transfer_details import GroupProfileTransferDetails as GroupProfileTransferDetails
from cloudbeds_accounting.models.internal_transaction_code_group_enum import InternalTransactionCodeGroupEnum as InternalTransactionCodeGroupEnum
from cloudbeds_accounting.models.internal_transaction_code_response import InternalTransactionCodeResponse as InternalTransactionCodeResponse
from cloudbeds_accounting.models.internal_transaction_codes_list_response import InternalTransactionCodesListResponse as InternalTransactionCodesListResponse
from cloudbeds_accounting.models.list_folio_transactions_paginated import ListFolioTransactionsPaginated as ListFolioTransactionsPaginated
from cloudbeds_accounting.models.list_folio_transactions_request import ListFolioTransactionsRequest as ListFolioTransactionsRequest
from cloudbeds_accounting.models.list_pending_transactions_paginated import ListPendingTransactionsPaginated as ListPendingTransactionsPaginated
from cloudbeds_accounting.models.list_pending_transactions_request import ListPendingTransactionsRequest as ListPendingTransactionsRequest
from cloudbeds_accounting.models.list_transactions_paginated import ListTransactionsPaginated as ListTransactionsPaginated
from cloudbeds_accounting.models.list_transactions_request import ListTransactionsRequest as ListTransactionsRequest
from cloudbeds_accounting.models.logical_operator import LogicalOperator as LogicalOperator
from cloudbeds_accounting.models.move_transactions_request import MoveTransactionsRequest as MoveTransactionsRequest
from cloudbeds_accounting.models.page_details import PageDetails as PageDetails
from cloudbeds_accounting.models.payment_details import PaymentDetails as PaymentDetails
from cloudbeds_accounting.models.post_group_profile_balance_transfer_request import PostGroupProfileBalanceTransferRequest as PostGroupProfileBalanceTransferRequest
from cloudbeds_accounting.models.reservation_status import ReservationStatus as ReservationStatus
from cloudbeds_accounting.models.reservation_transfer_details import ReservationTransferDetails as ReservationTransferDetails
from cloudbeds_accounting.models.route_transactions_request import RouteTransactionsRequest as RouteTransactionsRequest
from cloudbeds_accounting.models.routing_context import RoutingContext as RoutingContext
from cloudbeds_accounting.models.routing_rule_response import RoutingRuleResponse as RoutingRuleResponse
from cloudbeds_accounting.models.routing_rule_transaction_type_response import RoutingRuleTransactionTypeResponse as RoutingRuleTransactionTypeResponse
from cloudbeds_accounting.models.setting_patch_request import SettingPatchRequest as SettingPatchRequest
from cloudbeds_accounting.models.setting_response import SettingResponse as SettingResponse
from cloudbeds_accounting.models.setting_values import SettingValues as SettingValues
from cloudbeds_accounting.models.sort import Sort as Sort
from cloudbeds_accounting.models.sort_direction import SortDirection as SortDirection
from cloudbeds_accounting.models.source_balance_response import SourceBalanceResponse as SourceBalanceResponse
from cloudbeds_accounting.models.source_kind import SourceKind as SourceKind
from cloudbeds_accounting.models.transaction_item_group import TransactionItemGroup as TransactionItemGroup
from cloudbeds_accounting.models.transaction_item_mapping_model import TransactionItemMappingModel as TransactionItemMappingModel
from cloudbeds_accounting.models.transaction_item_mapping_request import TransactionItemMappingRequest as TransactionItemMappingRequest
from cloudbeds_accounting.models.transaction_item_mapping_update_model import TransactionItemMappingUpdateModel as TransactionItemMappingUpdateModel
from cloudbeds_accounting.models.transaction_response import TransactionResponse as TransactionResponse
from cloudbeds_accounting.models.transaction_state import TransactionState as TransactionState
from cloudbeds_accounting.models.transaction_type_identifier import TransactionTypeIdentifier as TransactionTypeIdentifier
from cloudbeds_accounting.models.transfer_deposit_post_request import TransferDepositPostRequest as TransferDepositPostRequest
from cloudbeds_accounting.models.trial_balance_configuration_status_response import TrialBalanceConfigurationStatusResponse as TrialBalanceConfigurationStatusResponse
from cloudbeds_accounting.models.trial_balance_report_code_info import TrialBalanceReportCodeInfo as TrialBalanceReportCodeInfo
from cloudbeds_accounting.models.trial_balance_report_guest_ledger import TrialBalanceReportGuestLedger as TrialBalanceReportGuestLedger
from cloudbeds_accounting.models.trial_balance_report_ledger_balances import TrialBalanceReportLedgerBalances as TrialBalanceReportLedgerBalances
from cloudbeds_accounting.models.trial_balance_report_response import TrialBalanceReportResponse as TrialBalanceReportResponse
from cloudbeds_accounting.models.trial_balance_report_summary import TrialBalanceReportSummary as TrialBalanceReportSummary
from cloudbeds_accounting.models.trial_balance_request import TrialBalanceRequest as TrialBalanceRequest
from cloudbeds_accounting.models.trial_balance_response import TrialBalanceResponse as TrialBalanceResponse
from cloudbeds_accounting.models.unroute_transactions_request import UnrouteTransactionsRequest as UnrouteTransactionsRequest
from cloudbeds_accounting.models.update_folio_request import UpdateFolioRequest as UpdateFolioRequest
from cloudbeds_accounting.models.user_model import UserModel as UserModel

